【问题标题】:extjs Grid is not showing expected data even when store, and colums are present in grid objectextjs Grid即使在存储时也没有显示预期的数据,并且列存在于网格对象中
【发布时间】:2015-10-14 12:14:01
【问题描述】:

我是 extjs 的新手,在将 json 数据加载到网格时遇到了一些问题。在调试器中,我可以看到网格的存储和列正在按照我想要的方式准确填充。但数据未显示在网格中。我不确定为什么。但是我的网格没有加载数据。

我做错了什么?

提前谢谢你。

网格视图:

Ext.define('searchadmin.view.reports.DynamicGrid' ,{
    extend: 'Ext.grid.Panel',
    alias : 'widget.dynamicGrid',
    title : 'Results',
    columns: [],
    columnLines : true,
    sortableColumns : false,
    autoScroll : true,
    viewConfig : {
        stripeRows : false,
        loadMask:true       
    }
});    

商店:

Ext.define('searchadmin.store.DynamicGridStore', {
    extend : 'Ext.data.Store',
    model: 'searchadmin.model.DynamicGridModel',

    proxy: {
        type: 'memory',
        reader: {
            type: 'json',
            root: 'data'
        }
    }
});

型号:

Ext.define('searchadmin.model.DynamicGridModel', {
    extend: 'Ext.data.Model',
    fields: []
});

上述网格所在页面的视图配置在此要点中: Reports.js

包含动态组合模型和存储代码的 Reports 控制器位于 handleSelectQueryResult() 中:ReportsController

【问题讨论】:

  • 控制器中的代码不正确。您的“executeReport”函数总是返回未定义,请求尚未完成。您需要从成功 fn 执行回调。
  • @EvanTrimboli - 我已经在上面的链接中更新了相当多的控制器。在调试器中,我可以看到网格的存储和列正在被填充,并且一切都按照我想要的方式准确无误。但数据未显示在网格中。我不确定为什么。我也更新了 Reports.js 视图。请看看你是否可以帮助为什么网格仍然没有渲染。您可以在上面的链接中查看更新的代码。我正在使用 extjs 4.2.1
  • 据我所知,问题仍然存在。 executeReport 将始终返回 undefinedstackoverflow.com/questions/14220321/…
  • @EvanTrimboli - 稍等片刻。你在看更新的链接吗?我想你可能已经在 github 中找到了旧文件。我检查了链接,现在它显示了新文件。在executeReport() 中,我正在调用handleSelectQueryResult() 方法。在这个方法里面是我填充存储和更新网格列属性和加载存储的地方。
  • 1) Ext.ComponentQuery.query 返回一个数组。 2) 你不能只分配这样的属性,你需要调用reconfigure方法。

标签: javascript extjs sencha-touch sencha-architect


【解决方案1】:

您将不得不使用reconfigure 网格方法,而不是像这样在ReportsController.jshandleSelectQueryResult 函数中分配列和存储。

 grid.columns = _columns; //will not work
 grid.store = queryStore; //will not work

还要注意ComponentQuery.query 返回一个数组。

试试这个方法。

var grid = Ext.ComponentQuery.query('#dynamicGridId')[0]; //or var grid = Ext.getCmp('dynamicGridId');
grid.reconfigure(queryStore, _columns);

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2018-09-01
  • 2020-05-08
  • 1970-01-01
  • 2011-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-02
相关资源
最近更新 更多