Newsgroup: it.comp.dotnet
Titolo: visualizzare il valore di una cella di un datagrid in wpf

Buongiorno a tutti,
vorrei  stampare a video mediante il comando MessageBox.Show  il valore 
presente all'interno di una cella selezionata in un datagrid ,ho  provato il 
seguente codice ma non funziona.Praticamente prima clicco la cella del 
datagrid( cittaDataGrid ) e poi clicco sul pulsante che f� partire l'evento 
"valore_cell_datagrid.
Il codice errato � il seguente:
private void valore_cell_datagrid (object sender, RoutedEventArgs e)
        {
            string bbb = cittaDataGrid.SelectedValue.ToString();
            MessageBox.Show(bbb);
       }
Grazie per una eventuale risposta.


Purtroppo ho capito che bisogna lavorare con la classe
DependencyProperties
è mi sembra che la cosa sia piuttosto complicatina....
Ci provero ancora e vi farò sapere. 

Buongiorno a tutti,
ho risolto il problema aggirando un p� la situazione e per conoscenza vi 
riporto il codice esatto qualora dovesse servire a qualcuno.Il valore della 
cella mi serviva solo per definire la funzione del comando UpdateQuery che 
si ottiene mediante la procedura guidata.Al posto del valore della cella ho 
inserito il valore che viene immesso in una casella di testo e il comando 
funziona.Avrei preferito per la modifica di un record agire direttamente 
sulla riga del Datagrid ........ma v� bene anche cos�.
private void update_btn_Click(object sender, RoutedEventArgs e)
{
Query_Wizard_WPF.Database1DataSet ds1 = new Database1DataSet();
Query_Wizard_WPF.Database1DataSetTableAdapters.CittaTableAdapter ta1 = new 
Database1DataSetTableAdapters.CittaTableAdapter();
ta1.UpdateQuery(textBox1.Text,cittaDataGrid.SelectedIndex+1);
ta1.Fill(ds1.Citta);
ShowDatabase();
}
private void ShowDatabase()
{
Query_Wizard_WPF.Database1DataSet database1DataSet = 
((Query_Wizard_WPF.Database1DataSet)(this.FindResource("database1DataSet")));
// Carica i dati nella tabella Citta. Se necessario, � possibile modificare 
questo codice.
Query_Wizard_WPF.Database1DataSetTableAdapters.CittaTableAdapter 
database1DataSetCittaTableAdapter = new 
Query_Wizard_WPF.Database1DataSetTableAdapters.CittaTableAdapter();
database1DataSetCittaTableAdapter.Fill(database1DataSet.Citta);
System.Windows.Data.CollectionViewSource cittaViewSource = 
((System.Windows.Data.CollectionViewSource)(this.FindResource("cittaViewSource")));
cittaViewSource.View.MoveCurrentToFirst();
}

 }
puoi speigare meglio cosa stai cercando di fare? perchï¿œ a naso non ha 
nessun senso quello che c'ï¿œ scritto qui.
.m
-- 
Mauro Servienti
{C67C0157-5D98-4733-A75E-93CAEE4BADC8}
Microsoft MVP - Visual C# / MCTS
http://mvp.support.microsoft.com/profile/mauro
blog @ 
http://milestone.topics.it
whynot [ at ] topics [ dot ] it

Hai ragione,ho corso un p� troppo.In pratica ho usato la connessione guidata 
query wizard per programmare un veloce database di prova.Ho un componente 
TextBox(textBox1) nella finestra MainForm + 3 pulsanti(Insert,Update e 
Delete) e il datagrid(cittaDataGrid) .Quello che volevo ottenere in un primo 
momento(.....che poi ho rinunciato)era poter inserire nei parametri del 
comando UpdateQuery  il valore della cella del datagrid per poterla poi 
modificare,cio� in pratica un utente modifica sul datagrid il valore della 
cella e poi clicca il pulsante Update e il valore viene aggiornato.Purtroppo 
non ci sono riuscito e ho dovuto rimediare inserendo nel comando UpdateQuery 
il valore della propiet� Text del componente textBox1 ,cio� l'utente deve 
selezionare la riga del datagrid e poi scrivere il valore nella casella di 
testo(textBox1) e poi cliccare il pulsante UPDATE........era meglio se si 
poteva agire direttamente sulla riga del datagrid senza dover inserire il 
nuovo valore nella TextBox!! Ho notato un ulteriore altro problema.I comandi 
insert,update e delete mi aggiornano il dataset ma non il database,sai come 
� possibile permettere che aggiornino in tempo reale anche il database???
Ti allego il codice:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using System.Windows.Shapes;
using System.Data;
using System.Data.SqlClient;
using System.Data.Sql;
namespace Query_Wizard_WPF
{
/// <summary>
/// Logica di interazione per MainWindow.xaml
/// </summary>
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private void insert_btn_Click(object sender, RoutedEventArgs e)
{
Query_Wizard_WPF.Database1DataSet ds = new Database1DataSet();
Query_Wizard_WPF.Database1DataSetTableAdapters.CittaTableAdapter ta = new 
Database1DataSetTableAdapters.CittaTableAdapter();
ta.InsertQuery(textBox1.Text);
ta.Fill(ds.Citta);
ShowDatabase();
}
private void ShowDatabase()
{
Query_Wizard_WPF.Database1DataSet database1DataSet = 
((Query_Wizard_WPF.Database1DataSet)(this.FindResource("database1DataSet")));
// Carica i dati nella tabella Citta. Se necessario, � possibile modificare 
questo codice.
Query_Wizard_WPF.Database1DataSetTableAdapters.CittaTableAdapter 
database1DataSetCittaTableAdapter = new 
Query_Wizard_WPF.Database1DataSetTableAdapters.CittaTableAdapter();
database1DataSetCittaTableAdapter.Fill(database1DataSet.Citta);
System.Windows.Data.CollectionViewSource cittaViewSource = 
((System.Windows.Data.CollectionViewSource)(this.FindResource("cittaViewSource")));
cittaViewSource.View.MoveCurrentToFirst();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
ShowDatabase();
}
private void delete_btn_Click(object sender, RoutedEventArgs e)
{
Query_Wizard_WPF.Database1DataSet ds0 = new Database1DataSet();
Query_Wizard_WPF.Database1DataSetTableAdapters.CittaTableAdapter ta0 = new 
Database1DataSetTableAdapters.CittaTableAdapter();
ta0.DeleteQuery(cittaDataGrid.SelectedIndex+1);
ta0.Fill(ds0.Citta);
ShowDatabase();


 Ti allego il codice
non sperare che io legga tutta quella spataffiata :-)



Volevo riuscire a creare velocemente un'applicazione di dati  in wpf con la 
procedura guidata mediante query wizard perch� dovrebbe essere il modo pi� 
rapido e pi� semplice,specialmente per quelli che come me sono ai primi 
passi. Purtroppo in rete ho trovato solo degli esempi dove i dati che 
vengono aggiornati sono solo sul dataset ma non sul database, tipo questo 
esempio:
http://www.codeproject.com/KB/WPF/binding_in_linq-sql.aspx
 Per caso conosci  un link  dove � possibile scaricare un esempio di 
applicazione con database in wpf con aggiornamento automatico anche del 
database?
Grazie

 Grazie



Grazie Mauro
era proprio quello che cercavo,un link veramente molto utile con tanto 
materiale a disposizione.
Ti ringrazio molto.
Piero