Ich habe eine Datagridview mit einer Information der Kunden. Ich habe Hintergrunddaten, die ich auf Datagridview nicht darstelle. Ich versuche, eine Kundennummer in einer ausgewählten Zeile in Datagrid zu erhalten. Ich versuche diesen Code zu verwenden, aber ich habe einen Fehler bei der Konvertierung von datagrid.SelectedItem in DataViewRow bekommen.C# wpf datagridview ausgewählte Zeile
Hier ist mein C# -Code;
private void searchPayment_btn_Click(object sender, RoutedEventArgs e)
{
DataRowView drv = (DataRowView)customerDataGrid.SelectedItem;
String result = (drv["customer_id"]).ToString();
presenter.getSelecetedCustomerPayment(Convert.ToInt32(result));
}
Im Debug-Modus kann ich sehen customerDataGrid.SelectedItem ist korrekt. Es gibt alle meine Daten einschließlich "customer_id" zurück.
und das ist der XAML-Code für mein Datagrid;
<DataGrid x:Name="customerDataGrid" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Margin="10,10,326,10" AutoGenerateColumns="False" IsReadOnly="True">
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding tc_id_no}" Header="National ID"/>
<DataGridTextColumn Binding="{Binding firstname}" Header="Name"/>
<DataGridTextColumn Binding="{Binding lastname}" Header="Lastname"/>
<DataGridTextColumn Binding="{Binding group_name}" Header="Group"/>
<DataGridTextColumn Binding="{Binding birthdate}" Header="Birthdate"/>
<DataGridTextColumn Binding="{Binding parent_name}" Header="Parent Name"/>
<DataGridTextColumn Binding="{Binding phone_number}" Header="Phone"/>
<DataGridTextColumn Binding="{Binding email}" Header="Email"/>
<DataGridTextColumn Binding="{Binding gender}" Header="Gender"/>
</DataGrid.Columns>
</DataGrid>