我想设置剑道网格列的 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);
例如:在列上启用禁止排序。在列上开启或关闭排序功能