Extjs4,如何在组合编辑器中设置displayField?

时间:2012-07-30 19:35:09

标签: extjs extjs4

在组合编辑器中,选择一个选项后,即使我设置了显示字段,它也会显示值。 单击组合编辑器后,它也会显示displayField,但是在选择并单击其他(这意味着鼠标输出)后,单元格值将更改为valueField。

我的组合编辑器代码,

{
   xtype : 'combo',
   editable : false,
   triggerAction : 'all',
   displayField : 'name',
   valueField : 'id',
   store : myStore
}

我错过了什么?

谁知道,请指教我〜

谢谢!

[编辑]

我在这里写测试代码:

http://jsfiddle.net/ilovekanon/NQXw9/

更改名称并单击其他名称,然后名称将显示ID,而不是名称:(

2 个答案:

答案 0 :(得分:2)

您需要在组合model中添加store(或模型配置),然后调用.setValue()

combo.store.add({id:3, name:'expert wanna-be'});
combo.setValue(3);

示例:

http://jsfiddle.net/y944g/

当您加载组合的商店(通过单击触发器)时,模型将被覆盖,因此您不必担心重复或任何事情。

答案 1 :(得分:1)

您的jsFiddle代码没有错误。

组合中的

displayField表示在组合中显示数据字段名称。 它不是网格中的显示值。 网格显示选中的值,当在组合中选择选项时。 如果您想在组合商店中显示name,则必须将valueField设置为'name',

所以,如果你需要在combo的商店中进行id,你可以设置新的隐藏网格列。当改变事件触发时。