【发布时间】:2017-10-02 14:52:42
【问题描述】:
我的 Winform ComboBox 是这样绑定的:
this.myComboBox.DataSource = myDS;
this.myComboBox.DisplayMember = PropertyHelper<MyType>.NameOf(i => i.prop1);
this.myComboBox.ValueMember = PropertyHelper<MyType>.NameOf(i => i.prop2);
myDS 确实包含一个 MyType 元素,其 prop2 值 = myType.prop2val。
我正在尝试使用此项目设置 Combobox 项目。
第一次尝试:
myComboBox.SelectedValue = (int)myType.prop2val;
这不起作用:它将myComboBox.SelectedValue 和SelectedItem 设置为null。
第二次尝试:
myComboBox.SelectedItem = ((List<MyType>)myComboBox.DataSource)
.FirstOrDefault(a => a.prop2 == myType.prop2val);
这条线可行,但我觉得它很难看。
我很确定我错过了一些让第一次尝试成功的东西。 任何帮助表示赞赏。
【问题讨论】:
-
你是否包含了 this.myComboBox.DataBind(); ?
-
myComboBox.SelectedItem = myType.prop2val; -
@Alander,WebForms 不是 DataBind() 吗?
-
组合框列出了DS的所有元素,只是没有在第一行代码中设置正确的元素。
-
myType.prop2val的类型是什么?
标签: c# winforms data-binding