【问题标题】:EXT JS - Overriding Framework's GridPanel's emptyText attributeEXT JS - 覆盖框架的 GridPanel 的 emptyText 属性
【发布时间】:2013-04-11 23:48:52
【问题描述】:
  • 更新问题

我相信,默认情况下,我们将网格面板的 emptyText 定义为“没有要显示的记录”。我对吗?如果是这样,是否有可用于检查值并将其设置为自定义消息的 getter 和 setter 方法对?

我想使用 getter 方法的示例:

  • 具有更多用户定义功能的自定义网格面板类

       Ext.define('Everest.ux.grid.Panel', {
          extend: 'Ext.grid.Panel',
          alias: 'widget.extGridPanel',
    
          appId: '',
    
          more customized methods
          ....
    
  • 我的网格组件类扩展了上面定义的

    Ext.define('Everest.ux.grid.MyGrid', {
    
        extend: 'Everest.ux.grid.Panel',
        alias: 'widget.myGrid',
    
        screenId: '',
        moduleId: '',
    
        initComponent : function() {
           var me = this;
           me.firstTimeLoaded = false;
           me.callParent();
        },
        ....
    
    
            var customStore = new Ext.data.Store({                          
                fields: customStoreFields,
                groupField: groupByDefaultField,
                sorters: customSorters,
                sortOnLoad: !Ext.isEmpty(customSorters),
                proxy: {
                    type: Ext.isEmpty(me.proxyType) ? 'ajax' : me.proxyType,
                    url: customDefinedURL,
                    reader: {
                        type: 'json'
                    }
                }
            });
    
            **me.reconfigure(customStore, newCustomFields);**
    

me 指的是我的网格组件。我没有在我的任何自定义组件中定义 emptyText 属性,但我仍然在网格获取数据时看到“没有要显示的记录”消息。我在想 me.reconfigure 是我在网格获取数据时看到消息的地方。

【问题讨论】:

  • 不应该这样。可能是你先加载一个空商店还是什么?向我们展示更多代码
  • @hop - 感谢您的回复。这帮助我缩小了我的问题。我更新了我的问题。如果我需要提供任何详细信息,请告诉我。谢谢

标签: extjs extjs4.1


【解决方案1】:

请注意,当使用本地数据时,除非您将 deferEmptyText 选项设置为 false,否则不会显示 emptyText。

为什么你不能尝试在商店中使用 autoload:true (如果需要,让它为假)。

emptyText 定义请参考以下链接。

http://docs.sencha.com/extjs/4.0.7/#!/api/Ext.view.AbstractView-cfg-emptyText

谢谢。

【讨论】:

  • 我没有使用本地数据。是的,这是我参考 Sencha 定义的首选。但是,我不明白“(如果需要,让它为假)。”。如果我保持这种状态,我还能改变什么?我更新了我的问题。谢谢
【解决方案2】:

不应该是这样的。你可能是先加载一个空商店还是什么?

是的,我看到我们最初加载的是一个空商店,这解释了 确定的事情。我相信,我们将网格的 emptyText 定义为“否” 默认情况下要显示的记录。我说的对吗?

不,你错了。您正在代码中通过此块设置 emptyText

viewConfig:{

        emptyText: 'No data to display',
        deferEmptyText: true

}

另外,让我担心的是“deferEmptyText”默认为真。更清楚您面临的问题是什么以及您到底需要什么。

参考http://docs.sencha.com/extjs/4.0.7/#!/api/Ext.view.AbstractView-cfg-deferEmptyText

【讨论】:

  • 很抱歉给您带来了困惑。两种情况是不同的。为了让事情更清楚,我删除了原来的问题。我的网格组件有很多其他逻辑,它们基本上会加载列名。
猜你喜欢
  • 2017-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-11-26
  • 2011-04-17
  • 1970-01-01
  • 2011-09-15
  • 1970-01-01
相关资源
最近更新 更多