这可能是一个非常简单的问题,但我意识到我无法使其发挥作用。
我有一个Winform组合框,数据源为List<int>
combo.DataSource = intList;
我为.DisplayMember
和.ValueMember
添加了什么才能获得整数值列表?不设置它们将不会显示任何内容。
我与其他List<myObj>
合作,其中DisplayMember
和ValueMember
是myObj的属性。如int
,string
等简单数据类型怎么样?
检索所选项目时,可以简单地投射(int)(combo.SelectedItem)
或者必须浏览与ValueMember
对应的属性?
答案 0 :(得分:2)
问题不会发生,因为你有一个整数列表,可能是因为在将项目分配给.DataSource
属性之后将项目添加到列表中。列表没有在项目添加或删除项目时通知其容器的机制。
在将项目分配给.DataSource
属性之前将项目添加到列表,或者像Krishnraj Rana建议的那样使用像BindingSource
这样的包装器。
答案 1 :(得分:1)
此处BindingSource出现了。你可以像这样使用它。
combo.DataSource = intList;
虽然你可以直接用list设置组合框的数据源。像这样 -
<xsl:if test="$PASS='true'">
<xsl:if test="abc/@abcflowId = abc/@setId and (abc/RegId != 'IR_1' and abc/RegId != 'IR_2') ">
<PassThru/>
<xsl:text>Delivery all these</xsl:text>
</xsl:if>
</xsl:if>
这也完美无缺。
答案 2 :(得分:0)
您可以使用foreach这样添加列表中的项目。
foreach (var v in intList)
{
comboBox1.Items.Add(v.ToString());
}