0

こんにちは!次のステートメントを使用して、「lb_Kostenstellen」という名前のリストボックスの Valuemember とデータソースを定義しようとしています (データベース内のアイテムを更新するには、アイテムの ID が必要です)。

lb_Kostenstellen.DataSource = db.Kostenstellen.ToList();
lb_Kostenstellen.ValueMember = "ID";
lb_Kostenstellen.DisplayMember = "Kostenstelle";

「bt_Hinzufügen」というボタンを作成しました。ボタンをクリックすると、選択したアイテムが「lb_Kostenstellen」というリストボックスから「lb_Ausgewählt」に移動するはずです。(アイテムは最初のリストボックスには表示されません)。私はこのステートメントを使用します:

lb_Ausgewählt.Items.Add(lb_Kostenstellen.SelectedItem);

今まで、ステートメントは機能しています。

しかし今、私の質問: 3 つのアイテムを 1 つのリストボックスから別のリストボックスに「切り替え」、ボタンをクリックすると、3 つのメッセージボックスをすべての一意のアイテムの ID とともに表示したいと考えています。

うまくいきません。次のメッセージボックスのみを取得します。

  1. MB : 私
  2. MB : D
  3. MB : (何もない)

    for (int i = 0; i < lb_Ausgewählt.Items.Count; i++) { MessageBox.Show(lb_Ausgewählt.ValueMember[i].ToString()); }

互換性のあるソリューションがあることを願っています。ありがとう、ダニエル

私の DatabaseContext は「db」です(EntityFrameworkの場合)。

4

1 に答える 1

0

lb_Chosen.ValueMember は値「ID」を持つ文字列であるため、文字列「ID」を反復処理しています。

ID を取得するには、次のようなコードを使用する必要があります。

for (int i = 0; i < lb_Chosen.Items.Count; i++) 
{ 
   MessageBox.Show((lb_Chosen.Items[i] as YourAccountClass).ID.ToString()); 
}

編集:コード内の名前を英語に翻訳

于 2013-10-17T09:56:32.957 に答える