我有一个带有 KendoUI DropDownList 的应用程序,其中填充了数据库中的表列表和最初使用空数组的列属性设置的网格:
... 列: [] ...
目的是从列表中选择一个表,将表名称发送到服务器,并让服务器返回包含列名称和“SELECT * FROM table”查询中的数据的 JSON 数据。数据按预期返回,第一次我可以按如下方式使用它,其中“self”只是对我的 View /模型中网格的引用:
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.com/forums/ui/grid/dynamically-add-new-column.aspx 的论坛帖子中可以看出,这种对列的动态操作似乎非常困难。但这篇文章已经发布一年多了,我希望现在能在这方面取得一些进展,特别是考虑到 3 月 20 日新版本的最新网络广播。所以我想问题依然存在:我所追求的是否可能,或者我是否可以?谢谢。
最佳答案
初始化后无法动态更改网格的列。但是,您可以创建一个新的网格实例。不要忘记调用旧网格的 destroy
方法。
关于kendo-ui - KendoUI 网格以编程方式创建列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15561403/