我之前问过类似的问题,但代码要复杂得多。这个问题涉及类似的问题,但代码大大简化了。尽管如此,即使这个例子很简单,我也无法通过下拉菜单预先选择正确的值。
我有一个正确填充值的下拉列表。此外,当我将下拉列表更改为任何值,然后保存我的表单时,数据库记录将更新为正确的值。这样做很有效,但在表单加载上选择正确的值是行不通的。
我把这些行放在我的保存方法中,只是为了看看我在做什么。
var test1 = _myLookupEdit.EditValue; //evaluates to 2
var test2 = _myLookupEdit.Properties.KeyValue; //evaluates to 2
但是,当我在表单加载期间设置其中任何一个时,没有任何反应;下拉列表中选择了一个空白条目(当您展开下拉列表时会看到其余值)。我尝试了以下每种方法:
_myLookupEdit.EditValue = 2;
_myLookupEdit.Properties.KeyValue = 2;
编辑 - 我在platon的答案下面发表了一条评论,但我也会在这里发布。我最终使用存储过程来填充此下拉列表,而不是枚举。从那时起,下拉列表加载了正确的选定值。
答案 0 :(得分:10)
您需要根据编辑器的Properties.ValueMember字段类型将编辑器的EditValue属性设置为一个值。我的意思是,如果这是一个字符串字段,EditValue应设置为“2”,而不是2,依此类推。这应该有所帮助。如果没有,请在设置编辑器的DataSource属性后尝试调用编辑器的Properties.ForceInitialize()方法。