[英]SlickGrid: sorting after reordering doesn't work
在SlickGrid中,您可以启用行重新排序(拖放)。 参见http://mleibman.github.io/SlickGrid/examples/example9-row-reordering.html
我的问题是,一旦我对一行进行重新排序(例如,将第3行放在第1行上方),就无法再对条目进行排序。 如果某列名为“日期”,而我单击该列,则不会发生任何事情。 在另一方面,如果我不被列手动,然后重新排序行排序,它的工作原理。
我不介意“按列排序”会破坏我的人工订单。 我只想保留重新排序后按列排序的选项。
任何提示表示赞赏。
(我使用SlickGrid是因为有一个很好的fork,它具有粘性的行/列。在其他地方没有找到此功能,因此这是我唯一的选择)
手动对网格重新排序后,将执行预订moveRowsPlugin.onMoveRows
的函数。 此函数正在调用grid.setData(data)
以将重新排序的行更新到网格上。 调用grid.setData(data)
会覆盖DataView并直接在网格上设置数据。 因此,对DataView的更新(例如排序)不再反映在网格上。
若要解决此更改, grid.setData(data)
在已预订moveRowsPlugin.onMoveRows
的函数(嵌入式JavaScript的第364行dataView.setItems(data)
中将grid.setData(data)
更改为dataView.setItems(data)
)。 我还建议您清除排序字段,以便删除排序指示器。
//Set updated data in DataView
dataView.setItems(data);
//Clear sort columns
grid.setSortColumns([]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.