剑道网格:如何删除列,填充新的并刷新?

时间:2015-04-08 06:57:32

标签: javascript kendo-ui kendo-grid calculated-columns

我有Kendo网格,里面填充了几列。我想在按钮点击更新后可以看到其中的一些列,添加一些新的并将其推回以显示新列。

我试着这样做:

// GET COLUMNS FROM GRID
var actualGridColumns = grid.columns; 
// MAKE SOME CHANGES LIKE hidden true/false on columns in loop
for loop
// SET NEW COLUMNS TO GRID
$("#orders_grid").data('kendoGrid').fields(actualGridColumns);
// FILL BY THE FRESH DATA FROM SERVER
$("#orders_grid").data('kendoGrid').dataSource.read();
// REFRESH GRID
$("#orders_grid").data('kendoGrid').refresh();

但是下面的代码崩溃了:

$("#orders_grid").data('kendoGrid').fields(actualGridColumns);

我怎么能以正确的方式做到这一点?

2 个答案:

答案 0 :(得分:0)

网格没有这种fields方法。要处理显示/隐藏列,剑道提供方法showColumnhideColumn,您应该检查Kendo Grid API Documentation

---------------------------- EDIT ------------------ ------------

关于具有新数据集的新列的情况,您应该重新定义整个网格列模式。 我做了一个简单的example,你可以把它变得更复杂,以满足你的期望。 这里是kendo网格列documentation,可帮助您正确定义列模式。

希望这有帮助

答案 1 :(得分:0)

Grid中没有这样的字段方法部分。您有两种选择:

  • 首先是在初始化时定义您需要的所有列,然后根据您的要求在hidden show/hide中创建其中一些列。
  • 另一个选择是,如果您在初始化时不知道列,则可以提供新的列选项集并将它们传递给网格的setOptions方法。