防止某些SlickGrid列被重新排序

Kev*_*vin 9 slickgrid tablecolumn

拖放列重新排序是一项很棒的功能,但如何阻止用户移动特定(非数据)列?

例如,我使用复选框选择器作为我的多选网格,但此列应始终锁定在左侧,而其他列可以自由重新排序.

小智 2

我查看了 jQuery UI 上的可排序演示,并修改了 slick.grid.js 中的 setupColumnReorder 函数以排除某些项目。通过排除复选框列,我能够防止它被重新排序,即使通过拖动它前面的其他列也是如此。

function setupColumnReorder() {
var checkBoxColumn = $headers.children([0]).attr('id');
$headers.sortable({
items: "div:not('.slick-resizable-handle','#"+checkBoxColumn+"')",
...
Run Code Online (Sandbox Code Playgroud)

由于我的复选框列始终位于第一个,因此我只需像这样获取 id 即可。有点破解,但它有效。