3

我有一个带有 KendoUI DropDownList 的应用程序,其中填充了数据库中的表列表和最初设置为空数组的列属性的网格:

... 列: [] ...

目的是从列表中选择一个表,将表名发送到服务器,并让服务器返回包含列名和来自“SELECT * FROM table”查询的数据的 JSON 数据。数据按预期返回,第一次我可以按如下方式使用它,其中“self”只是对我的视图/模型中网格的引用:

self.columns.removeAll();

for (var i = 0; i < joOutput["Cols"].length; i++) {
   var col = { title: joOutput["Cols"][i], field: joOutput["Cols"][i] };

   self.columns.push(col);
   } 

在提取我的数据并将其分配给网格数据源后,网格会正确显示正确的列标题和数据。但是,当我从列表中选择另一个表并从服务器接收数据时,网格显示不会更新,即使通过执行上述代码似乎网格列已更新。屏幕上的结果是列标题是第一个网格中列的名称和第二个查询返回的行中的空行数。

从http: //www.kendoui.c​​om/forums/ui/grid/dynamically-add-new-column.aspx 的论坛帖子中可以看出,这种对列的动态操作似乎很难做到,但该帖子已经结束了现在已经一岁了,我希望现在能在这方面取得一些进展,尤其是考虑到最近 3 月 20 日发布的新版本的网络广播。所以我想问题仍然存在:我所追求的甚至是可能的还是我是 SOL?谢谢。

4

1 回答 1

8

您不能在初始化后动态更改网格的列。但是,您可以创建一个新的网格实例。不要忘记调用destroy旧网格的方法。

于 2013-03-22T08:37:16.387 回答