如何从组合框在C#Windows窗体应用程序
问题描述:
获得标识我有一个ComboBox
充满这样:如何从组合框在C#Windows窗体应用程序
List<Category> CategList = new Category().getAllCategory();
foreach (Category cat in CategList)
{
ComboForCategory.Items.Add(cat.CategoryName);
}
的ComboBox
显示所有CategoryName
细节成功......现在我需要从选择Name
得到CategoryID
.. 。
然后我用得到CategoryID
这样的:
Item ob = new Item();
ob.category.CategoryId = ComboForCategory.SelectedValue.ToString();
但它显示错误。为什么?如何从Name
中获取CategoryID
?
答
在后面的代码中需要指定ValueMember属性。然后,您可以使用DisplayMember指定要显示的对象的哪个属性。
List<Category> CategList = new Category().getAllCategory();
ComboForCategory.DataSource = CategList;
ComboForCategory.DisplayMember = "CategoryName";
ComboForCategory.ValueMember = "CategoryId";
然后,当你要抢的SelectedValue,你可以这样调用:
ob.category.CategoryId = Convert.ToInt32(ComboForCategory.SelectedValue);
(使用toString()方法是没有必要的)。
不,它显示错误 – RifathMohamed
您说过这是针对Windows窗体应用程序的,但此答案适用于Web窗体应用程序。请说明哪个。 – dviljoen
我在Windows窗体应用程序中测试了它,它工作得很好。如果你有错误,还有其他的东西会导致它们。你能发布你获得的错误的截图吗? –