我需要停止重新排序SlickGrid中的某些列。我找不到办法。每列都没有选项允许重新排序,如“可调整大小”或类似的情况。以下标志使所有列都可以重新排序:
var options = {
enableColumnReorder: true
};
如果有任何解决方法,请告诉我。 TIA
答案 0 :(得分:1)
不幸的是,没有直接的选择来实现这一点,但如果我们探索源代码,我们会发现它们使用jquery可排序插件。所以我们可以注射"进行可排序的调用,为`sortable plugin添加选项cancel
或items
。
在列选项中:
headerCssClass: "disable-reorder"
在初始化中:
var origSortable = $.fn.sortable;
$.fn.sortable = function (options) {
if (options !== null && typeof options === 'object'){
options.cancel = '.disable-reorder';
}
return origSortable.apply(this, arguments);
};
data = [
//some data
];
grid = new Slick.Grid("#myGrid", data, columns, options);
这会阻止类.disable-reorder
的标头无法重新排序。
这是丑陋和黑客的方式,但我找不到任何其他选择。
答案 1 :(得分:0)
您实际上可以明确禁用列重新排序并设置所需的每列sortable
。
例如:
var columns = [
{ id: "title", name: "Title", field: "title", sortable: false },
{ id: "duration", name: "Duration", field: "duration", sortable: true, formatter: dayFormatter },
{ id: "%", name: "% Complete", field: "percentComplete", sortable: true },
{ id: "start", name: "Start", field: "start", formatter: dateFormatter, sortable: true },
{ id: "finish", name: "Finish", field: "finish", formatter: dateFormatter, sortable: true },
{ id: "effort-driven", name: "Effort Driven", field: "effortDriven", sortable: true }
];
取自他们的例子here
添加:列选项的文档 - https://github.com/mleibman/SlickGrid/wiki/Column-Options