繁体   English   中英

数据源为列表的Winform组合框<int>

[英]Winform Combobox with DataSource as List<int>

这可能是一个非常简单的问题,但我意识到我无法使其正常运行。

我有一个Winform组合框,其数据源为List<int>

combo.DataSource = intList;

我应该为.DisplayMember.ValueMember放置什么,以便仅具有整数值列表? 不设置它们将不显示任何内容。

我与其他List<myObj>一起工作,其中DisplayMemberValueMember是myObj的属性。 简单的数据类型,例如intstring呢?

检索所选项目时,可以简单地(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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM