Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
c#wpf datagridview选定行_C#_Wpf_Datagridview_Selecteditem - Fatal编程技术网

c#wpf datagridview选定行

c#wpf datagridview选定行,c#,wpf,datagridview,selecteditem,C#,Wpf,Datagridview,Selecteditem,我得到了一个带有客户信息的datagridview。我有在datagridview上没有表示的背景数据。我尝试在datagrid中的选定行上获取客户id。我尝试使用此代码,但在将datagrid.SelectedItem转换为DataViewRow时出错 这是我的C代码 在调试模式下,我可以看到customerDataGrid.SelectedItem是正确的。它返回我的所有数据,包括“客户id” 这是我的datagrid的XAML代码 <DataGrid x:Name="customer

我得到了一个带有客户信息的datagridview。我有在datagridview上没有表示的背景数据。我尝试在datagrid中的选定行上获取客户id。我尝试使用此代码,但在将datagrid.SelectedItem转换为DataViewRow时出错

这是我的C代码

在调试模式下,我可以看到customerDataGrid.SelectedItem是正确的。它返回我的所有数据,包括“客户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>

返回
数据网格的(第一个)当前选定项。这意味着这是您的
Customer
类的对象(我想这是类的名称),没有
DataRowView
之类的内容。如果您对所选项目进行强制转换,您只需获取客户的任何属性即可。请注意,您必须检查所选项目是否为空,因为无法选择任何项目:

Customer selectedCustomer = customerDataGrid.SelectedItem as Customer;
if (selectedCustomer != null)
{
    //Get the properties you need
    string selectedCustomerId = selectedCustomer.Id;
}
试试这个: DataRowView行=(DataRowView)DataGrid.SelectedItems[0]

0是第一个交叉点中的第一个项目,请尝试通过试错法获取索引,继续使用索引,直到获得所需的索引

Customer selectedCustomer = customerDataGrid.SelectedItem as Customer;
if (selectedCustomer != null)
{
    //Get the properties you need
    string selectedCustomerId = selectedCustomer.Id;
}