我得到了一个datagridview与客户的信息。我有背景数据,我不代表datagridview。我尝试在datagrid的选定行上获取客户ID。我尝试使用此代码,但在将datagrid.SelectedItem转换为DataViewRow时出错。c#wpf datagridview选择行
这是我的C#代码;
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));
}
在调试模式下,我可以看到customerDataGrid.SelectedItem是正确的。它会返回我所有的数据,包括“customer_id”。
这是我的datagrid的XAML代码;
<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>