放入ValueMember并从列表框中获取ValueMember

时间:2013-10-17 09:46:25

标签: c# entity-framework listbox valuemember

大家好!我正在尝试使用以下语句定义名为“lb_Kostenstellen”的列表框的值成员和数据源(我需要用于更新数据库中项目的项目的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的消息框。

它不起作用。我只进入Messageboxes:

  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());         }

  4. 我希望你有一个兼容的解决方案。谢谢,丹尼尔

    我的DatabaseContext是“db”(For EntityFramework)。

1 个答案:

答案 0 :(得分: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()); 
}

编辑:将代码翻译成英文的名称