从Listview WPF获取数据

时间:2011-10-18 18:30:30

标签: wpf vb.net xaml listview datarowview

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

我在做什么的解释:

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

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

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

我完成了什么: listview 1和listview 2的数据绑定工作完美。我有一个有3个属性的员工类(代理ID,名称,办公室)。我创建了一个可观察的集合,我将把员工添加到 - IM FINE with this part。

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

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

    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

1 个答案:

答案 0 :(得分:1)

DataRowView您是否尝试过遍历SelectedItems?

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