Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [WPF - C#] Prendere i valori della cella selezionata

    ciao!

    avrei la necessità di trovare i valori di tutte le celle di una DataGrid in wpf, al doppio click del mouse.
    sul file xaml ho fatto così:
    codice:
    <DataGrid Grid.Row="1" Height="751" VerticalAlignment="Top" x:Name="gridClients" DataContext="{StaticResource ClientsData}"
                          ItemsSource="{Binding XPath=/crClientis/crClienti}" AutoGenerateColumns="False" CanUserResizeRows="False" IsReadOnly="True" MouseDoubleClick="gridClients_MouseDoubleClick">
                    <DataGrid.Columns>
                        <DataGridTextColumn Binding="{Binding XPath=clienteCodice}" Header="CODE" />
                        <DataGridTextColumn Binding="{Binding XPath=clienteRagsoc}" Header="NAME" />
                        <DataGridTextColumn Binding="{Binding XPath=clienteEmail}" Header="EMAIL" />
                        <DataGridTextColumn Binding="{Binding XPath=clientePiva}" Header="P.IVA" />
                    </DataGrid.Columns>
                </DataGrid>
    i dati li prende da un web service remoto in formato xml.
    poi nell'evento:
    codice:
            private void gridClients_MouseDoubleClick(object sender, MouseButtonEventArgs e)
            {
                var grid = sender as DataGrid;
                var cellValue = grid.SelectedValue;
                MessageBox.Show(cellValue.ToString());
            }
    così facendo mi viene restituita una stringa con tutti i valori uno attaccato all'altro, e quindi ci faccio poco.
    come posso fare per avere i valori delle varie celle separati?
    considerate che, come detto sopra, i dati li prende in formato xml.

  2. #2
    ho trovato questa soluzione, anche se mi dico da solo che non è un granchè:
    codice:
            private void gridClients_MouseDoubleClick(object sender, MouseButtonEventArgs e)
            {
                var grid = sender as DataGrid;
                var cellValue = grid.SelectedItems[0];
                XmlElement elm = (XmlElement)cellValue;
                XmlNodeList node = elm.ChildNodes;
                XmlElement elmNode = (XmlElement)node[7];
                XmlNodeList nodeElm = elmNode.ChildNodes;
                MessageBox.Show(nodeElm[0].Value);
            }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.