我在设置记录值方面遇到了问题。
我在商店里面嵌套了这样的记录:
- data
act_reading // I can set value of this record using -> record.set('act_reading', 'dsds');
adj_reading
act_reading_nested
- data
arr_act_colour // How can I set this record?
arr_act_rating // How can I set this record?
arr_act_ferrous // How can I set this record?
idrectype1 // How can I set this record?
adj_reading_nested
- data
arr_adj_colour
arr_adj_rating
arr_adj_ferrous
idrectype2
如何在act_reading_nested中设置idrectype1值?
我还必须为arr_act_colour,arr_act_rating和&做同样的事情。 arr_act_ferrous。
先谢谢
答案 0 :(得分:1)
假设record
是变量保持对你的recrd的引用,那不会有效吗?
record.get('act_reading_nested').set('arr_act_colour','value');
record.get('act_reading_nested').idrectype1 = 'something';
是的。刚检查过。
答案 1 :(得分:0)
根据我对Store当前实现的经验你不能:(当我想在GridPanel中编辑非普通商店时,我也面临着这样的问题。请参阅http://www.sencha.com/forum/showthread.php?119573-Event-beforeedit-in-EditableGridPanel&highlight=afteredit < / p>
我自己没有检查它(而是找到了一个黑客解决方法),但更简洁的方法是使用Ext.override(Ext.Store,{...})工具使用您自己的Store实现来修复它。 看看我是如何为“标准”HttpProxy实现的。
Ext.override (Ext.data.HttpProxy, {
buildUrl : function (action, record) {
var ret = '';
if (window.location.pathname != '/') {
ret = window.location.pathname;
};
return ret + Ext.data.HttpProxy.superclass.buildUrl.call(this, action, record);
}
});
虽然需要一点深入的Extjs内部知识。