![](/img/trans.png)
[英]How to rebind datasource to a winform DataGridView Combobox column?
[英]Winform Combobox with DataSource as List<int>
这可能是一个非常简单的问题,但我意识到我无法使其正常运行。
我有一个Winform组合框,其数据源为List<int>
combo.DataSource = intList;
我应该为.DisplayMember
和.ValueMember
放置什么,以便仅具有整数值列表? 不设置它们将不显示任何内容。
我与其他List<myObj>
一起工作,其中DisplayMember
和ValueMember
是myObj的属性。 简单的数据类型,例如int
, string
呢?
检索所选项目时,可以简单地(int)(combo.SelectedItem)
或必须通过与ValueMember
对应的属性?
不会发生此问题,因为您有一个整数列表,它可能是由于将项目分配给.DataSource
属性之后将项目添加到列表中而.DataSource
。 列表没有机制来向其添加或删除项目时通知其容器。
在将项目分配给.DataSource
属性之前,将其添加到列表中,或者使用Krishnraj Rana建议的包装器(如BindingSource
。
在这里, BindingSource成为图片。 您可以像这样使用它。
BindingSource bSource = new BindingSource();
bSource.DataSource = new List<int> { 1, 2, 3 };
combo.DataSource = bSource;
虽然可以直接用列表设置组合框的数据源。 像这样 -
combo.DataSource = intList;
这也很好用。
您可以像这样使用foreach从列表中添加项目。
foreach (var v in intList)
{
comboBox1.Items.Add(v.ToString());
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.