簡體   English   中英

SlickGrid:如何阻止某些列重新排序?

[英]SlickGrid : How to stop certain columns from being reordered?

我需要停止對SlickGrid中的某些列進行重新排序。 我只是找不到辦法。 在“調整大小”之類的情況下,每一列都沒有允許重新排序的選項。 下面的標志使所有列“可重新排序”:

var options = {
  enableColumnReorder: true
};

讓我知道是否有任何解決方法。 TIA

不幸的是,沒有實現此目的的直接選擇,但是如果我們研究源代碼,我們會發現它們使用jquery可排序插件。 因此,我們可以“注入”到排序呼叫添加選項cancelitems進行排序`插件。

在列選項中:

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM