Ext.GridPanel 以 10001px 的宽度呈现

Posted

技术标签:

【中文标题】Ext.GridPanel 以 10001px 的宽度呈现【英文标题】:Ext.GridPanel rendered with width of 10001px 【发布时间】:2011-03-07 09:39:53 【问题描述】:

我有一个 Ext.grid.GridPanel,它被渲染到我的页面中,宽度为 10001 像素。 (在 FireFox Chrome 和 IE 中测试)。总是一样的。

Gridpanel 被渲染成<table><td> 元素,以便我可以将它与其他元素一起布局。 (没有办法省略表格。如果可以,我不会使用它们)。

封装表格的div元素宽度是1614px,怎么会这样呢?

【问题讨论】:

您使用的是什么版本的 ExtJS,何时添加网格,是否有代码示例或我们可以用来分析的实时测试? 好问题!我目前正在做一个相当古老的项目。我刚刚发现版本是:Ext JS Library 2.2.1。我会先更新。 @ChrisR 简单的更新解决了这个问题。您介意将其发布为答案吗?还是我应该这样做? 继续发布您的答案 :) 如果您不是最新版本,我只是建议更新。不知道它会一口气解决它:) 您也可以发布您的代码吗? 【参考方案1】:

在 ExtJs 论坛网站上查看 this。那里说明了解决方案(只需创建一个带有 layout:'fit' 的 Viewport 并将 Grid 添加到它。)

【讨论】:

谢谢!我已经在网上找到了一个并尝试过,但这并没有解决它。我认为这确实与 IE 问题有关,但我在所有浏览器中都有这个问题。【参考方案2】:

Grid 必须呈现给 A) 明确大小的元素或 B) 管理布局的 Ext Container。从 TurBas 的回答中将网格添加到视口的参考与选项 B 相关。在您的情况下,您必须为 TD 提供固定大小才能使其正常工作。这就引出了一个问题……为什么要将网格渲染成表格?

【讨论】:

它必须被渲染到一个表格,因为它周围的平台是一个相当古老但“成熟”的产品,它通过表格来布局每个组件。【参考方案3】:

从 2.2.1 版更新到 3.3.1 版解决了我的问题。如果其他人遇到同样的问题并且必须更新到第 3 版。您真的应该在这里使用此论坛帖子进行升级:

http://www.sencha.com/forum/showthread.php?70352-Upgrading-to-Ext-3

有一些关键更改可能会破坏您的应用程序。

【讨论】:

以上是关于Ext.GridPanel 以 10001px 的宽度呈现的主要内容,如果未能解决你的问题,请参考以下文章

Ext GridPanel在进行条件查询后,翻页有误

关于EXT gridPanel进行高级查询时load提交后台乱码以及其他方式更新store的方法及遇到的问题

Extjs 多重继承?

jQuery轮 播的封装

“PayPal 网关已拒绝请求。超时处理请求(#10001:内部错误”

10001st prime