6

我之前问过一个类似的问题,但代码要复杂得多。这个问题涉及一个类似的问题,但是代码被大大简化了。尽管如此,即使这个例子很简单,我也无法通过下拉菜单预先选择正确的值。

我有一个正确填充值的下拉列表。此外,当我将下拉列表更改为任何值,然后保存我的表单时,数据库记录将更新为正确的值。这很有效,但在表单加载时选择正确的值将不起作用。

我将这些行放在我的保存方法中,只是为了看看我正在使用什么。

var test1 = _myLookupEdit.EditValue;  //evaluates to 2
var test2 = _myLookupEdit.Properties.KeyValue;  //evaluates to 2

但是,当我在表单加载期间设置其中任何一个时,什么都没有发生;下拉列表选择了一个空白条目(展开下拉列表时会看到其余值)。我已经尝试了这些方法中的每一个:

_myLookupEdit.EditValue = 2;
_myLookupEdit.Properties.KeyValue = 2;

编辑 - 我在 platon 的回答下发表了评论,但我也会在这里发表。我最终使用存储过程而不是 Enum 来填充此下拉列表。从那时起,下拉列表加载了正确的选定值。

4

1 回答 1

10

您需要根据编辑器的 Properties.ValueMember 字段类型的类型将编辑器的 EditValue 属性设置为一个值。我的意思是,如果这是一个字符串字段,EditValue 应该设置为“2”,而不是 2,依此类推。这应该会有所帮助。如果没有,请在设置编辑器的 DataSource 属性后尝试调用编辑器的 Properties.ForceInitialize() 方法。

于 2013-03-01T20:18:55.093 回答