Extjs 3.4:网格中没有数据记录

Posted

技术标签:

【中文标题】Extjs 3.4:网格中没有数据记录【英文标题】:Extjs 3.4 : No data records in Grid 【发布时间】:2015-04-04 11:47:20 【问题描述】:

我正在使用此代码:

grid.render('grid');
Ext.getCmp('grid').mainBody.update('<div class="x-grid-empty">' + this.emptyText + '</div>');

根据文档

emptyText : 字符串 当没有可用行时,默认文本(接受 html 标记)显示在网格主体中(默认为 '')。此值将用于更新 mainBody:

this.mainBody.update('<div class="x-grid-empty">' + this.emptyText + '</div>');

对我来说它显示

无法读取未定义的属性“更新”

请帮忙

【问题讨论】:

什么是this?我们可能需要更多代码才能继续,但看起来this 不包含mainBody 的定义 我正在尝试这个,但后来我知道了 deferEmptyText : false 和 emptyText :'no data found' ..... 需要在 viewConfig 中写入它们。 向我们展示您的 grid 课程,以解释此错误背后的原因。只能通过你上面放的那段代码说mainBody 没有引用渲染对象。 【参考方案1】:

在这个 sn-p 中,render 是异步的。因此,mainBody 在下一行调用时还不存在。

grid.render('grid');
 Ext.getCmp('grid').mainBody.update('<div class="x-grid-empty">' + this.emptyText + '</div>');

另外,ExtJs 应该自己处理emptyText,所以我不明白为什么必须用 emptyText 更新 mainBody。

【讨论】:

以上是关于Extjs 3.4:网格中没有数据记录的主要内容,如果未能解决你的问题,请参考以下文章

extjs 3.4 ComboBox 发送错误的数据类型

如何在 extjs 3.4 网格面板中显示/隐藏列

没有数据时,Grid 中的 Loading... 消息。 ExtJs 网格

EXTJS 3.4 如何在 selectionchange 上获取记录数据视图

使用 extjs 网格并行执行

具有空存储的 ExtJS 网格,在添加/插入时仅显示添加的最新记录 [关闭]