我有一个包含客户数据的数据网格,如ID,姓名,电子邮件,电话等。 当我选择一行(带有按钮或选择)时,我想将该行的列存储在变量中,如
将电子邮件调暗为字符串 昏暗的名字作为字符串 email = dgCustomers.theselectedrow.theselectedcell name = dgCustomers.theselectedrow.theselectedcell
如果我有一个只有一行的数据表,我知道我可以获得列数据: dim email as string = CustomerDataTableInstance.rows(0).Item(“Email”)
我不知道如何获取所选的行号,但是当我有多行并且用户点击一个/使用键盘时。
数据网格绑定到数据表,而不是具有对象集合的类。
感谢任何帮助!
答案 0 :(得分:1)
您是否尝试过SelectedItem
或SelectedIndex
属性?
我对使用数据表知之甚少,但我怀疑你可以通过使用SelectedItem
来获取某种代表数据表中一行的行对象,然后你可以用它来获取每一个数据表。你想要的列 - 就像绑定到一组对象一样。
如果不起作用,请尝试SelectedIndex
属性。我很确定它存在,但我可能错了,因为我从来没有使用它 - 我总是把我的数据绑定到SelectedItem。
答案 1 :(得分: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
希望有所帮助!