如何将选定的WPF数据网格行列分配给变量。 (VB.NET)

时间:2010-04-18 05:30:05

标签: wpf vb.net

我有一个包含客户数据的数据网格,如ID,姓名,电子邮件,电话等。 当我选择一行(带有按钮或选择)时,我想将该行的列存储在变量中,如

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

如果我有一个只有一行的数据表,我知道我可以获得列数据: dim email as string = CustomerDataTableInstance.rows(0).Item(“Email”)

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

数据网格绑定到数据表,而不是具有对象集合的类。

感谢任何帮助!

2 个答案:

答案 0 :(得分:1)

您是否尝试过SelectedItemSelectedIndex属性?

我对使用数据表知之甚少,但我怀疑你可以通过使用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

希望有所帮助!