Javascript 动态设置剑道网格列的可排序属性
我试图通过一个变量设置剑道网格列的Javascript 动态设置剑道网格列的可排序属性,javascript,jquery,kendo-grid,Javascript,Jquery,Kendo Grid,我试图通过一个变量设置剑道网格列的sortable属性,以控制该列何时可以有排序功能以及何时不能。 但这是行不通的。 如果我直接将sortable属性设置为true/false,它会相应地工作,但当我使用变量来设置它时,它不会,无论变量值如何,该属性总是设置为“true” 例子: 这正如预期的那样有效 <div id="grid"></div> <script> $("#grid").kendoGrid({ columns: [ { sortabl
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>
是否可以动态禁用/启用剑道网格中列的排序?一旦网格初始化,您需要通过网格属性动态设置它
$('#grid').kendoGrid({
sortable: true,
columns: [
{...}
]
});
var grid = $('#grid').getKendoGrid();
var options = grid.options;
options.columns[0].sortable = false;
grid.setOptions(options);
示例:初始化网格后,需要通过网格属性动态设置它
$('#grid').kendoGrid({
sortable: true,
columns: [
{...}
]
});
var grid = $('#grid').getKendoGrid();
var options = grid.options;
options.columns[0].sortable = false;
grid.setOptions(options);
示例:非常感谢。这很有效。在我的应用程序中,网格有80多列,开发人员可以根据需要在网格的任何位置添加新列。因此,我不是从
列字段名中获取索引,而是从列字段名中获取索引(fieldName){var index=columns.findIndex(函数(v,i){return grid.columns[i].field==fieldName;});if(index>=0){columns[index].sortable=false;grid.setOptions(options);}}
非常感谢。这非常有效。在我的应用程序中,网格有80多个列,开发人员可以根据需要在网格中的任何位置添加新列。因此,我从列字段名
获得索引,而不是固定列索引{var columnsToModifySort=[“field1”,“field2”];var grid=$(“#grid”).getKendoGrid();var options=grid.options;var columns=options.columns;0.each(columnsToModifySort,function(fieldName){var index=columns.findIndex(function(v,i){return grid.columns[i]。field==fieldName;});if(index>=0){columns[index].sortable=false;grid.setOptions(options);}}}