【问题标题】:Putting in ValueMember and getting ValueMember out of Listbox放入 ValueMember 并从 Listbox 中取出 ValueMember
【发布时间】:2013-10-17 09:46:25
【问题描述】:

大家好!我正在尝试使用以下语句定义名为“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. MB : D
  3. MB:(什么都没有)

    for (int i = 0; i

我希望您有适合我的解决方案。谢谢,丹尼尔

我的 DatabaseContext 是“db”(对于 EntityFramework)。

【问题讨论】:

  • 我建议您将代码中的名称从德语翻译成英语,这样人们也可以了解您的代码所在的上下文。无论如何,这对于您的本地代码库也是一件好事。

标签: c# entity-framework listbox valuemember


【解决方案1】:

您正在遍历字符串“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()); 
}

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

【讨论】:

  • 非常感谢Wonki!但是你能帮我解决我的另一个问题吗?问题:当我选择一个 ListboxItem 并单击“切换”按钮时,该项目应该从第一个 Listbox 移动到另一个 Listbox。它在第一个 Listbox 中应该是不可见的!我在 ListboxItem 中找不到列表框属性。我该怎么做?问候
  • 您应该为此打开一个新问题,以便其他人可以轻松找到。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-24
  • 1970-01-01
  • 2011-06-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多