我正在尝试通过变量设置剑道网格列的 sortable
属性,以控制该列何时可以具有排序功能以及何时不能。
但这是行不通的。
如果我直接将 sortable
属性设置为 true
/false
它会相应地工作,但是当我使用变量来设置它时,它是不,无论变量值如何,该属性始终设置为“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>
有没有办法动态禁用/启用剑道网格中的列排序?
最佳答案
网格初始化后,您需要通过网格属性动态设置它。
$('#grid').kendoGrid({
sortable: true,
columns: [
{...}
]
});
var grid = $('#grid').getKendoGrid();
var options = grid.options;
options.columns[0].sortable = false;
grid.setOptions(options);
关于javascript - 动态设置剑道网格列的可排序属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61611641/