新添加的行不能拖放到 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 网格面板中的主要内容,如果未能解决你的问题,请参考以下文章