当调用destroy()
中KendoUI网格,然后重新创建该表上的一个新的DataSource
:为什么旧表列还存在吗?
在这里,停留在说的唯一元素是元素。 我如何告诉网格读取新的数据源列(它读取一切是正确的)。
(如果我做2个不同的元素,它们都填充正常,但我宁愿只是保持1元,并通过破坏和重新发起替换元素表)
当调用destroy()
中KendoUI网格,然后重新创建该表上的一个新的DataSource
:为什么旧表列还存在吗?
在这里,停留在说的唯一元素是元素。 我如何告诉网格读取新的数据源列(它读取一切是正确的)。
(如果我做2个不同的元素,它们都填充正常,但我宁愿只是保持1元,并通过破坏和重新发起替换元素表)
最有可能这是因为你不清除网格容器内的内容。 例如
$('#gridName').data().kendoGrid.destroy();
$('#gridName').empty();
或者更短的语法
$('#gridName').kendoGrid('destroy').empty();
其他方式网格考虑到留在旧的HTML -不要忘记,电网可以从表像初始化这里 。
只是想澄清彼得Subev的答案,因为它帮助我的最后一位:
“不要忘记,网格可以从表像被初始化这里 ”
这只是说,在你的HTML您使用<table>
标签,而不是<div>
标记。 使用<table>
标签中的网格表数据从网格列分离,所以当你做$(“#gridName”)。kendoGrid(“摧毁”)。空()它只是破坏/清空表中的数据,而不是列信息。
你的HTML切换<table>
标签的<div>
标签来获得所需的结果。
我在角框架内工作似乎并不能与新的数据源和新的列重新初始化剑道电网。 没有什么作品2号网格初始化。 我试过了:
if (vm.mainHierGrid != null) {
//vm.mainHierGrid.data().kendoGrid.destroy();
$('#mainGrid').data().kendoGrid.destroy();
//$('#mainGrid').empty();
vm.mainHierGrid.destroy();
}