2016-03-08 127 views
0

我有一个组合框,其值不为我所知。我只知道显示值。如果不通过组合框的数据存储并查找原始值映射,还有其他更简单的方法来设置组合框的原始值。使用显示值设置Combobox值

比方说,这些都是选项:

Display: 'A' Value: '1' 
Display: 'B' Value: '2' 
Display: 'C' Value: '3' 

当我使用

Ext.getCmp(comboboxId).setRawValue('A') 

上面的代码也将显示值设置为“A”,但是当我检查它的相应的值,它不不会变成'1'。

回答

3

可以使用findRecordByDisplay查找记录:

由displayField搜索值查找记录。

然后使用select选择它:

由型号选择一个项目,或者通过一个密钥值。

例如:

var cmp = Ext.getCmp(comboboxId), 
    record = cmp.findRecordByDisplay('A'); 

cmp.select(record); 
2

您不需要手动浏览数据存储。

var record = store.find("field","value"); 
Ext.getCmp(comboboxId).select(record); 
0

setValue可以接受valueFielddisplayField值。 Link

setRawValue只设置“displayField . It doesn't call convert`功能或引发任何事件