0

さまざまな目的に役立つ2つのリストビューがあります。簡単な質問は、WPFリストビューから特定の列をプルしてオブジェクトのプロパティに追加する方法を見つける必要があるということです。

私がしていることの説明:

リストビュー1:データベーステーブルにバインドされています。ユーザーは、リストビューがバインドされているテーブルをフィルタリングするためにコンボボックスを変更します。-私はこれについて助けを必要としません。

リストビュー2:このリストビューは、3つのプロパティを持つ監視可能なコレクションにバインドされています。-私はこれについて助けを必要としません。

User Action:ユーザーは、リストビュー1から項目のサブセットを選択し、「追加」をクリックします。リストビュー1の特定の列を「従業員」オブジェクトのプロパティに追加してから、監視可能なコレクションに追加して、リストビュー2に表示できるようにします。

私が完了したこと:listview1とlistview2のデータバインディングは完全に機能します。3つのプロパティ(エージェントID、名前、オフィス)を持つ従業員クラスがあります。観察可能なコレクションを作成し、これに従業員を追加します-この部分でIMFINE。

必要なもの:監視可能なコレクション内のオブジェクトの対応するプロパティに正しい部分を割り当てるために、リストビュー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
4

1 に答える 1

1

DataRowViewSelectedItems を反復処理してみましたか?

    foreach (DataRowView row in Listview1.SelectedItems)
    {
         ...
    }
于 2011-10-18T18:44:47.833 に答える