[英]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.