2010-04-18 47 views
0

我有一个数据网格与客户数据,如ID,姓名,电子邮件,电话等 当我选择一行(与按钮或选择已更改)我想存储该行的列中的变量,如如何将选定的WPF数据网格行列分配给变量。 (VB.NET)

昏暗的电子邮件作为字符串 昏暗名字符串 电子邮件= dgCustomers.theselectedrow.theselectedcell 名= dgCustomers.theselectedrow.theselectedcell

如果我有一个数据表中只有一行,我知道我可以列数据有: 昏暗的电子邮件作为字符串= CustomerDataTableInstance.rows(0).Item(“电子邮件”)

我不知道如何获取选定的行号,但是当我有多行并且用户单击一个/使用键盘时。

datagrid绑定到数据表,而不是与对象集合的类。

任何帮助表示赞赏!

回答

1

您是否尝试过SelectedItemSelectedIndex属性?

我不太了解使用数据表,但我怀疑你可以通过使用SelectedItem获得某种表示数据表中某一行的行对象,然后可以使用它来获取每个想要的列 - 这就像绑定到对象集合的作品一样。

如果这不起作用,请尝试SelectedIndex属性。我很确定它存在,但我可能是错误的,因为我从来没有使用它 - 我总是将我的数据绑定到SelectedItem。

0

我刚刚为其他人回答了一个类似的问题。有关更多详细信息,请参阅VB.NET WPF How to get the column value from datagrid?,但Benny Jobigan是正确的,您将使用SelectedIndex获取您的行,然后使用Item集合获取您的列值。它看起来像这样:

Dim View As DataView = TryCast(DataGrid1.ItemsSource, DataView) 
    If View IsNot Nothing Then 
     Dim ViewRow As DataRowView = View.Item(DataGrid1.SelectedIndex) 
     Dim ColumnValue As Object = ViewRow.Item("ID") ' or ViewRow.Item(0) for positional value. 

     ' do something with ColumnValue here. 
    End If 

希望帮助!