Winforms / .Net 3.5
我正在使用一个组合框,并将dropdownstyle设置为下拉列表(允许用户输入数据)。
我遇到的问题是如何设置组合框,以便使用列表中的值以及用户输入数据时更新我的bindingsource。
例如,组合框可能包含以下值:
“红色”,“白色”,“蓝色”。但是用户应该能够输入“黑色”。
我尝试使用“Text”属性,但问题是我的组合框显示值包含额外信息(代码和描述)而不是Value(仅代码)。
我在向组合框添加绑定时尝试使用SelectedValue,但之后它只使用列表中的值进行更新,而不是在用户输入数据时更新。
MyComboBox.DataBindings.Add("SelectedValue", MyBindingSource, "MyProperty", True, DataSourceUpdateMode.OnValidation)
有什么想法吗?
答案 0 :(得分:2)
我遇到了同样的问题。 我通过在DataBindings.Add方法中用“Text”替换参数“SelectedValue”来解决它。 MyComboBox.DataBindings.Add(“Text”,MyBindingSource,“MyProperty”,True,DataSourceUpdateMode.OnValidation)
答案 1 :(得分:0)
尝试更改ComboBox的DropDownStyle属性。不确定它是否会给你你想要的东西,但这是一个新的方向。
答案 2 :(得分:0)
在验证事件中,如果text.isNullOrEmpty()== fallse&& selectedItem == null或selectedIndex< 0