【问题标题】:Getting data from Listview WPF从 Listview WPF 获取数据
【发布时间】:2011-12-10 08:24:10
【问题描述】:

我有 2 个用于不同目的的列表视图。简短的问题是我需要了解如何从 WPF 列表视图中提取特定列以将它们添加到对象的属性中。

解释我在做什么:

列表视图 1: 绑定到数据库表。用户更改组合框以过滤列表视图绑定到的表。 - 我不需要帮助。

列表视图 2: 此列表视图绑定到具有 3 个属性的可观察集合。 - 我不需要帮助。

用户操作: 用户从 Listview 1 中选择项目子集并单击“添加”。我想将 listview 1 的特定列添加到“员工”对象的属性中,然后添加到可观察集合中,以便它们可以显示在 Listview 2 中。

我已经完成的: listview 1 和 listview 2 的数据绑定工作完美。我有一个具有 3 个属性(代理 ID、姓名、办公室)的员工类。我创建了一个可观察的集合,我将把员工添加到 - 这部分我很好。

我需要什么: 我需要知道如何找到 listview 1 的具体数据,以便将正确的部分分配给我的 observable 集合中对象的相应属性。

我的尝试真的是一个史诗般的失败。我将遍历所有选定的项目以从每个项目中获取数据,但对于我的尝试,我只使用了第一个选定的项目:

    Class windEmployee
    Private Agents As New ObservableCollection(Of Employee)

    Private sub AgentData()
        Dim x As DataRowView
        X = Listview1.SelectedItems(0)
        Agents.Add(New Employee With {.AgentID = x.Row.Item(9), .Name = x.Row.Item(6)     & " " & x.Row.Item(7), .Office = x.Row.Item(16)}
    end sub
    End Class

【问题讨论】:

    标签: wpf vb.net xaml listview datarowview


    【解决方案1】:

    DataRowView您是否尝试过仅遍历 SelectedItems?

        foreach (DataRowView row in Listview1.SelectedItems)
        {
             ...
        }
    

    【讨论】:

    • 是的,我有。因此,这允许我单独访问每一行 - 在该行中我有几列,我正在尝试从这些行中提取数据。我正在遍历datarowview行itemarray ...但是,我需要的元素的位置似乎到处都是,我觉得解决方案不是很好。希望这是有道理的?
    • 顺序将是用于创建数据表的select语句中的顺序。我相信您也可以使用列名,例如行[“ColX”]。甚至还有根据位置检索列名的语法。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多