在 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.renderedstore.getCount()>0 是否都是true

【讨论】:

以上是关于在 ExtJS 中获取一定值的数据存储的主要内容,如果未能解决你的问题,请参考以下文章

ExtJS 4 - 如何加载带有来自表单的最新值的参数的网格存储?

Extjs 4.1 - 如何在存储中嵌入从服务器发送的数据

如何从 Sencha extjs 获取存储价值

如何使用 JSON 数据数组加载 extjs 3.4 存储

使用 hasMany 关联在 ExtJS 中填充存储

我可以使用啥查询从选定键值的本地存储中获取数据