我有一个剑道网格:
$('#myGrid').kendoGrid({
...
scrollable: false,
...
});
然后我想改变它的可滚动属性。我已经尝试了以下所有方法:
$('#myGrid').data("kendoGrid").options.scrollable = true;
$('#myGrid').data("kendoGrid").refresh();
-
$('#myGrid').data("kendoGrid").scrollable = true;
$('#myGrid').data("kendoGrid").refresh();
-
var MyGrid = $('#myGrid').data("kendoGrid");
MyGrid.options.scrollable = true;
MyGrid.refresh();
-
var MyGrid = $('#myGrid').data("kendoGrid");
MyGrid.scrollable = true;
MyGrid.refresh();
没有任何作用。如何改变网格是否可以动态滚动?
答案 0 :(得分:5)
这不支持开箱即用,所以你必须弄乱内部。重新创建网格可能更容易,但如果你仍然认为你需要它,那么这个小提琴可能会帮助你找到正确的方向:
http://jsfiddle.net/lhoeppner/AKzzL/
基本上你可以尝试使用这样的东西:
function enableScrolling() {
if (!grid.options.scrollable) {
grid.options.scrollable = true;
grid._thead();
grid.refresh();
}
}
function disableScrolling() {
grid.options.scrollable = false;
grid.table.unwrap(); // manually remove the wrapper that enables scrolling
}
使可滚动网格不可滚动,导致数据列的宽度不正确,因此根据您的要求,您可能需要对其进行更多自定义。
答案 1 :(得分:4)
无法动态更改网格选项。您需要使用不同的选项重新创建整个网格,以便动态地禁用/启用它们。
修改强> 从2014年第三季度开始,Grid支持setOptions方法,它在内部几乎完全相同,但保持大多数选项和dataSource的状态同步。
答案 2 :(得分:0)
var MyGrid = $('#myGrid').data("kendoGrid");
MyGrid.options.scrollable = true;
(根据我的经验)然后你需要重新加载dataSource ex:
MyGrid.setDataSource(kendoDataSource);