新添加的行不能拖放到 extjs 网格面板中

Posted

技术标签:

【中文标题】新添加的行不能拖放到 extjs 网格面板中【英文标题】:newly added rows cannot be drag dropped in extjs gridpanel 【发布时间】:2011-11-09 06:19:55 【问题描述】:

我在使用 extjs 网格面板拖放时遇到问题。

场景如下: 网格面板最初是通过加载远程存储来呈现的。 然后,添加行并动态更新。 拖放功能是在网格面板的“渲染”事件上实现的。 对于从远程存储中最初检索到的行,拖放工作正常。 但是当我尝试对新添加或编辑的行使用拖放时,它不起作用。

我在 firebug 上收到以下错误: 索引或大小为负或大于允许的数量”代码:“1

这可能是因为,新添加的行没有作为存储的一部分。我尝试将事件更改为“点击”,但它不起作用..

请为此快速提出解决方案.. 急需。

谢谢, 什雷亚。

【问题讨论】:

【参考方案1】:

我知道两种在 ext 中拖放的方法,其中一种仅适用于网格行,另一种我正在使用的方法是设置拖放区和拖放区。使用该方法,您唯一需要做的就是捕获在向网格中添加新行时触发的事件。在这种情况下,将每个新行设置为一个拖动区域(以便可以拖动它)。这就是我在类似情况下所做的。希望这会有所帮助..

顺便说一句,网格行没有 .el(附加到 Ext 组件的 DOM 元素,在本例中就是行)。因此,您必须为每个行组件创建一个 div,然后使用 initializeDropZone(row[x]),其中 row[x] 是新添加的行。

【讨论】:

以上是关于新添加的行不能拖放到 extjs 网格面板中的主要内容,如果未能解决你的问题,请参考以下文章

extjs 网格面板拖放功能

在 ExtJS 中从 GridPanel 获取模型

ExtJs 编辑器网格面板的问题

如何在 extjs 4 中选择网格面板行作为 HTMLELEMENT

extjs 5 网格的滚动条在边框布局面板中不起作用

在树形面板中双击应该在网格面板中添加 Extjs