【问题标题】:Extjs 4 showing JSON data (on demand) to grid?Extjs 4 向网格显示 JSON 数据(按需)?
【发布时间】:2011-09-01 14:40:51
【问题描述】:

到达 URL 后,如何将数据显示到网格,autoLoad:true,只加载第一个定义的 URL,但是如何“动态”将加载的 JSON 显示到网格?,用新调用的 JSON 重新加载数据?

buttons: [{
   text: 'Load1',
   handler:function(){
      myStore.getProxy().url = 'app/kontaktGrid1.json';
      myStore.load();
      grid.getView().refresh();
}},{
   text: 'Load2',
   handler:function(){
      myStore.getProxy().url = 'app/kontaktGrid2.json';
      myStore.load();
      grid.getView().refresh();
}}]

Ext.define('app.gridStore', {
     extend: 'Ext.data.Model',
     fields: [
        'name', 'email', 'phone'
     ]
});
var myStore =Ext.create('Ext.data.Store', {
    model: 'app.gridStore',
    proxy: {
        type: 'ajax',
        url : '',
        reader:{ 
            type:'json'
    }
    },
    autoLoad:false
});


--Grid in Border Layout Center--
items:[{
xtype:"grid",
id:"kontaktGrid",
store: myStore,
border: false,
columns: [
    {header: 'name',sortable : false,  dataIndex: 'name'},
    {header: 'email',sortable : false, dataIndex: 'email'},
    {header: 'phone',sortable : false, dataIndex: 'phone'}
]  
}]

这不起作用,只能从服务器加载,没有显示数据。

【问题讨论】:

  • 请提供生成您的商店的代码,以及如何将其粘贴到网格中
  • @Warung Nasi 49 -- 我确实让一个网格加载了两次,但是在刷新之后,又什么都没有......
  • 抱歉,我没听懂,.. 网格要加载两次,但刷新后什么都没有.. 再次编辑显示您当前的 js..让我们看看你的代码..

标签: json extjs store extjs4


【解决方案1】:

首先,你为什么要这样加载你的 json?即使它正在工作......这是简单的方法:

text: 'Load1',
handler:function(){
   myStore.load({
       scope : this,
       url : 'app/kontaktGrid1.json'
   });
   //myStore.getProxy().url = 'app/kontaktGrid1.json';
   //myStore.load();
   //grid.getView().refresh();
}

docs,方法load的定义是 通过配置的代理将数据加载到存储中..

其次,您的探针只从服务器加载,没有显示数据..
这意味着 json、store 和模型没有错误...
我认为您的问题出在网格面板中..
试着告诉我们你是如何创建网格的

确保您的网格列引用(dataIndex)到您的 json

var grid = Ext.create('Ext.grid.Panel', {
    store: store,
    columns: [
        {text     : 'name',    sortable : false, dataIndex:"name"},
        {text     : 'email',   sortable : false, dataIndex:"email"},
        {text     : 'phone',   sortable : false, dataIndex:"phone"}
    ],
    //.....

【讨论】:

  • 我在一个单独的网格中做了这个,它有效,我的问题在其他地方,所以非常感谢!问题解决了!
  • 能不能看一下这个帖子:(stackoverflow.com/questions/6139215/…),说不定能看出问题!请帮忙,卡住了!
猜你喜欢
  • 1970-01-01
  • 2012-12-28
  • 2013-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多