1
我将我的extjs4应用程序设计为mvc。 有时,在某些不清楚的情况下,当我从控制器中将远程数据加载到存储中时,视图不反映更改;这发生在组合框和网格上。 这就像我错过了关于extjs设计的一些东西,我希望这个问题能让事情更清楚。Extjs:当存储负载时呈现数据
考虑这个例子是不是为我工作:
控制器:
...
init: function() {
this.control({
// * This is the alias of a grid panel.
// * When I dbl-click a record, I want to display it in a modal window
'w_fares_index': {
itemdblclick: function(grid, record) {
var view = Ext.widget('w_fares_edit');
view.down('form').loadRecord(record);
var store = this.getStore('StoreBillsModels');
store.load({
params: {
'where': {
"id_fare": record.get('id')
}
}
});
}
},
...
视图:
...
extend: 'Ext.window.Window',
alias : 'widget.w_fares_edit',
...
items[{
xtype: 'form',
...
}, {
xtype: 'gridpanel',
store: 'StoreBillsModels',
columns: [{
header: 'Id',
dataIndex: 'id',
flex: 1
}, ...]
}]
有了这个代码,新模式窗口打开,并将点击的记录加载到表单中。但是,即使商店StoreBillsModels已填充(我可以看到它分析网络请求),新窗口内的网格面板不会显示任何记录。
另外,我发现了一些奇怪:
- 如果StoreBillsModels的大小为1,那么,网格显示一个空的白线
- 如果存储大小为0,网格只显示标题,并没有高度
我遇到或多或少同样的问题与组合框..这就像如果我填充该物化视图的相同功能中的商店,然后商店的消费者并不反映商店的变化。
有人可以帮忙吗?