2016-03-08 63 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`功能或引發任何事件