在 ExtJS 中获取一定值的数据存储
Posted
技术标签:
【中文标题】在 ExtJS 中获取一定值的数据存储【英文标题】:Get a certain value of data store in ExtJS 【发布时间】:2015-08-28 03:23:49 【问题描述】:我是 ExtJS 的新手。我在 ExtJS 中有一个组合框,我想加载商店的第一条记录作为组合框的默认值。这是我的代码
var cutoff = store_dynamic('nr/getCutOffDate', true);
var combo_value = //here i want to store the default value taken in the store
xtype: 'combobox',
margin: '0 10 0 0',
labelWidth: 80,
width: 240,
store: cutoff,
displayField: 'date',
valueField: 'dt_val',
fieldLabel: 'Cut-Off Date',
editable: false,
id: 'cutoffdate',
value: combo_value
这是商店中的数据
"success":true,"metaData":"fields":["date","dt_val"],"data ["date":"June 30, 2015","dt_val":"6\
/30\/2015","date":"June 15, 2015","dt_val":"6\/15\/2015"]
dt_val
是组合框中显示的内容。
【问题讨论】:
【参考方案1】:这真的很容易,一般情况是
var store = combo.getStore(),
value = store.getAt(0).get(combo.valueField);
combo.setValue(value);
或者,在您的特殊情况下:
combo_value = cutoff.getAt(0).get('dt_val');
但我猜你的代码可能会出现问题,即当你初始化组合框时商店还没有填充数据。您最好在组合的afterrender
和商店的load
事件中执行此操作,并在设置组合值之前检查combo.rendered
和store.getCount()>0
是否都是true
。
【讨论】:
以上是关于在 ExtJS 中获取一定值的数据存储的主要内容,如果未能解决你的问题,请参考以下文章