Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/303.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# 如何在DataGrid中检索隐藏字段的值_C#_Wpf_Datagrid - Fatal编程技术网

C# 如何在DataGrid中检索隐藏字段的值

C# 如何在DataGrid中检索隐藏字段的值,c#,wpf,datagrid,C#,Wpf,Datagrid,模型类:对于我使用的这个场景 Image | ID (Hidden) | First Name | Last Name ...... 2231231 1 ABC DEF 2122342 2 ADED SAD 我想获取ID字段值,我使用了以下代码,通过空引用错误--> //第二种方法 private void userdatagrid_Se

模型类:对于我使用的这个场景

Image     |    ID (Hidden)  |  First Name   | Last Name ......
2231231        1               ABC             DEF 
2122342         2               ADED            SAD
我想获取ID字段值,我使用了以下代码,通过空引用错误-->

//第二种方法

 private void userdatagrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
    {

        DataRowView rowview = userdatagrid.SelectedItem as DataRowView;
         value = rowview.Row["ID"].ToString();
//双击事件

 string ID = (userdatagrid.SelectedItem as tbl_User).ID.ToString(); 
    }


我想你有这样一个模型:

var data = (DataRowView)userdatagrid.SelectedItem;
var userId = data.Row["id"];
然后,您可以使用
SelectionChanged
事件中的
SelectedItem
属性获取列的隐藏值:

public class Person
{
    public int ID { get; set; }
    public string Name { get; set; }
    public string SurName { get; set; }
}

userdatagrid.SelectedItem作为DataRowView
userdatagrid.SelectedItem作为tbl\u用户
??类
userdatagrid
行绑定到什么?你能发布它吗?它会被tbl_用户分类所蒙蔽如果它是,
(userdatagrid.SelectedItem作为tbl_用户)。ID
将返回ID值,除非
selectedIndex=-1
这是什么?问题是关于WPF,而不是ASP.NETBoth解决方案抛出空引用异常将“id”更改为“id”此错误显示:其他信息:无法强制转换“f_uAnonymousType0”类型的对象14[System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.String,System.Byte[],System.String,System.String,System.String]'键入“System.Data.DataRowView”。其引发空引用异常
string ID = ((DataRowView)userdatagrid.SelectedItem).Row["id"].ToString();
var data = (DataRowView)userdatagrid.SelectedItem;
var userId = data.Row["id"];
public class Person
{
    public int ID { get; set; }
    public string Name { get; set; }
    public string SurName { get; set; }
}
private void dataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e)
{
   if (dataGrid.SelectedItem != null)
   {
      var data = (Person)dataGrid.SelectedItem;
      var userID = data.ID;
   }
}