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 个项目从一个列表框“切换”到另一个,然后单击一个按钮,我想显示 3 个带有每个唯一项目 ID 的消息框。

它不起作用。我只进入以下消息框:

  1. MB:我
  2. 主板: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

您正在遍历字符串“ID”,因为 lb_Chosen.ValueMember 是一个值为“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 回答