我有4个网格启用了拖放插件.它们的初始网格取决于名为state_id的db的值.
当我将选定的行放入新的网格时,我更新了state_id值,然后通知它与数据库同步并更新相关项目的值.
这大部分工作正常.当以下情况发生时,我得到此URL是未定义的错误
>用户点击从网格拖动行A
1到网格2
>用户拖动行A
网格2到网格1
>错误!网址
未定义.
这个错误似乎只是在添加到网格中的第一个项目来自同一个网格时才会发生.
>用户点击从行1到网格2的行A
>用户点击将行B从网格2拖到网格1
>用户点击从行2到网格1的行A
>按预期工作!
我的控制器中的drop事件处理程序:
dropit: function (node,data,dropRec,dropPosition) { if (node.dragData.records[0].store.$className == "AM.store.BacklogCards") { data.records[0].set('state_id',1); this.getBacklogCardsStore().sync(); } else if (node.dragData.records[0].store.$className == "AM.store.InprogressCards") { data.records[0].set('state_id',2); this.getInprogressCardsStore().sync(); } else if (node.dragData.records[0].store.$className == "AM.store.ReviewCards") { data.records[0].set('state_id',3); this.getReviewCardsStore().sync(); } else { data.records[0].set('state_id',4); this.getDoneCardsStore().sync(); } //node.dragData.records[0].store.sync(); },
关于什么导致这个和如何解决它的任何想法?
谢谢
解决方法
我可以建议您使用一个商店而不是三个商店,只需使用相同的商店添加三个相等的网格,但是对状态=进行过滤?
这样,您可以简单地更新状态,刷新两个相关的网格并同步一个商店.