[英]SlickGrid : How to stop certain columns from being reordered?
我需要停止对SlickGrid中的某些列进行重新排序。 我只是找不到办法。 在“调整大小”之类的情况下,每一列都没有允许重新排序的选项。 下面的标志使所有列“可重新排序”:
var options = {
enableColumnReorder: true
};
让我知道是否有任何解决方法。 TIA
不幸的是,没有实现此目的的直接选择,但是如果我们研究源代码,我们会发现它们使用jquery可排序插件。 因此,我们可以“注入”到排序呼叫添加选项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
标头.disable-reorder
。
这是丑陋的,但是我找不到其他选择。
实际上,您可以显式禁用列重新排序,并设置需要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 }
];
从他们的榜样采取这里
另外:列选项的文档-https: //github.com/mleibman/SlickGrid/wiki/Column-Options
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.