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

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

问题描述:

Image  | ID (Hidden) | First Name | Last Name ...... 
2231231  1    ABC    DEF 
2122342   2    ADED   SAD 

模型类:用于此场景,我使用。如何检索DataGrid中的隐藏字段的值

public partial class tbl_User 
{ 
    public int ID { get; set; } 
    public string FirstName { get; set; } 
    public string LastName { get; set; } 
    public string Gender { get; set; } 
    public string Email { get; set; } 
    public string username { get; set; } 
    public string password { get; set; } 
    public byte[] Image { get; set; } 
    public string Country { get; set; } 
} 

我想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(); 
    } 

//双击事件

private void btnedit_Click(object sender, RoutedEventArgs e) 
    { 
     try 
     { 
      DataRowView rowview = userdatagrid.SelectedItem as DataRowView; 
      string id = rowview.Row[0].ToString(); 
      UpdateDetial ud = new UpdateDetial(int.Parse(value)); 
      ud.ShowDialog(); 
     } 
     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 

    } 
+0

'userdatagrid:

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

然后你就可以在SelectionChanged事件通过SelectedItem属性来获取栏的隐藏价值.SelectedItem作为DataRowView','userdatagrid.SelectedItem as tbl_User' ??究竟是什么类的'userdatagrid'行绑定?你可以发布吗? – Sakura

+0

及其与tbl_User类 – Khalid

+0

致盲如果是,'(userdatagrid.SelectedItem为tbl_User).ID'将返回ID值,除非'的selectedIndex = -1' – Sakura

string ID = ((DataRowView)userdatagrid.SelectedItem).Row["id"].ToString(); 

var data = (DataRowView)userdatagrid.SelectedItem; 
var userId = data.Row["id"]; 
+0

这是什么?问题是关于WPF,而不是ASP.NET – Sakura

+0

oops ..编辑答案为WPF版本 –

+0

两种解决方案抛出空引用异常 – Khalid

我想你有这样一个模型:

private void dataGrid_SelectionChanged(object sender, SelectionChangedEventArgs e) 
{ 
    if (dataGrid.SelectedItem != null) 
    { 
     var data = (Person)dataGrid.SelectedItem; 
     var userID = data.ID; 
    } 
} 
+0

其抛出空引用异常 – Khalid

+0

@Khalid你能告诉你模型类吗? – StepUp