动态设置剑道网格列的可排序属性。

问题描述 投票:0回答:1

我想设置剑道网格列的 sortable 属性来控制列什么时候可以有排序功能,什么时候不可以,但这是行不通的。sortable 属性为 truefalse 它相应地工作,但当我使用一个变量来设置它时,却不是这样,无论变量的值是多少,该属性总是被设置为'true'。

比如说,我在使用变量时,不管变量的值是多少,属性总是设置为'true'。

这和预期的一样

<div id="grid"></div>
<script>
$("#grid").kendoGrid({
  columns: [
    { sortable: false, field: "id" },
    { field: "name" }
  ],
  sortable: true,
  dataSource: [ { id: 1, name: "Jane Doe" }, { id: 2, name: "John Doe" } ]
});
</sript>

但是这个却不行。id 领域总是得到 sortable 作为 true

<div id="grid"></div>
<script>
// if first time it's true, then the sortable property is retaining true always, 
// regardless if on second call the variable is set to false. there is no effect
var setColumnSort = canBeFalseOrTrue;
$("#grid").kendoGrid({
  columns: [
    { sortable: setColumnSort, field: "id" },
    { field: "name" }
  ],
  sortable: true,
  dataSource: [ { id: 1, name: "Jane Doe" }, { id: 2, name: "John Doe" } ]
});
</script>

有没有办法动态地禁用剑道网格中的列的排序?

javascript jquery kendo-grid
1个回答
2
投票

你需要在网格初始化后通过网格属性来动态设置它。

$('#grid').kendoGrid({
  sortable: true,
  columns: [
    {...}
  ]
});

var grid = $('#grid').getKendoGrid();

var options = grid.options;
options.columns[0].sortable = false;
grid.setOptions(options);

例如:在列上启用禁止排序。在列上开启或关闭排序功能

© www.soinside.com 2019 - 2024. All rights reserved.