【问题标题】:How do I assign selected WPF datagrid row columns to variables. (VB.NET)如何将选定的 WPF 数据网格行列分配给变量。 (VB.NET)
【发布时间】:2011-02-09 07:32:22
【问题描述】:

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

将电子邮件变暗为字符串 暗淡的名字作为字符串 电子邮件 = dgCustomers.theselectedrow.theselectedcell name = dgCustomers.theselectedrow.theselectedcell

如果我有一个只有一行的数据表,我知道我可以通过以下方式获取列数据: 暗淡电子邮件为字符串 = CustomerDataTableInstance.rows(0).Item("Email")

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

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

感谢任何帮助!

【问题讨论】:

    标签: wpf vb.net


    【解决方案1】:

    我刚刚为别人回答了一个类似的问题。请参阅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
    

    希望有帮助!

    【讨论】:

      【解决方案2】:

      您尝试过SelectedItemSelectedIndex 属性吗?

      我对使用数据表了解不多,但我怀疑您可以使用SelectedItem 获取某种表示数据表中一行的行对象,然后您可以使用它来获取您的每一列想要——这就像绑定到对象集合一样有效。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-01-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-04-27
        • 1970-01-01
        相关资源
        最近更新 更多