网格面板中的空消息

26

我正在使用Extjs gridPanel来显示数据。当没有可用数据时,我想在gridPanel中显示“没有数据…”的消息。如何做到这一点?

我尝试了emptyText属性,但它没有起作用。

我认为emptyText是针对gridView而不是gridPanel的。

请帮我解决如何在gridPanel中显示空数据消息的问题。(我使用的是gridPanel而不是grid View)

1个回答

44
你回答了自己的问题 —— 它确实是一个 GridView 属性。因此,要在 GridPanel 中指定它(GridPanel 内部使用 GridView),只需执行以下操作:
myGrid = new Ext.GridPanel({
    viewConfig: {
        emptyText: 'No records'
    }
});

根据下方的评论,您可能还需要在viewConfig中包含deferEmptyText: false以使文本立即呈现(否则它会等到初始存储加载完成后再呈现)。

2
似乎你需要在网格视图上调用 "refresh"(并将其延迟),以便看到空消息:例如 myGrid.view.refresh.defer(1, ,myGrid.view); 参见 Sencha 论坛 - Mark Rhodes
12
正如Mark Rhodes的链接中提到的那样,您可以配置viewConfig来包括参数deferEmptyText:false,这将立即显示空文本。 - Chau
8
从谷歌搜索跳转而来,想指出这仍然适用于Ext4(确切地说是4.0.7版本)。 - Matt Greer
deferEmptyText: false 对我有用!!我觉得默认值为 true 真是不可思议!浪费了我一个小时!:-((( - Lawrence
我只能同意关于延迟(defer)的事情。我一定是漏了什么,因为我甚至不明白为什么首先需要这样一个东西... - Lawrence
@Lawrence 第一次从远程源加载商店。在商店加载时,您是否想显示一条消息,说“没有物品存在”?此时您不知道,需要等待加载完成。 - Evan Trimboli

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接