我在AngularJs的网站上有一个Kendo UI Grid。如何更新/添加/删除DataSource中的单个数组项,并在不刷新整个网格的情况下进行网格更新?
如果我尝试更换DataSource对象,网格确实有足够的更新,但所有分组,列排序和排序都会重置。
更新#1 - 持续滚动位置
我通过阅读这篇文章来实现这一目标:http://www.telerik.com/forums/kendo-grid-how-to-keep-scoll-position-after-calling-sync-(with-batch-property-set-to-true)以此代码结束:
$scope.activityGridOptions = {
scrollable: true,
dataBound: function(e) {
restoreScrollState();
},
dataBinding: function(e) {
saveScrollState();
}
// ...
}
function saveScrollState() {
$("#kendogrid .k-grid-content").scroll(function () {
webStorage.local.add("gridScrollTop", $(this).scrollTop());
webStorage.local.add("gridScrollLeft", $(this).scrollLeft());
});
}
function restoreScrollState() {
// Restore scroll state
$("#kendogrid .k-grid-content").scrollTop(webStorage.local.get("gridScrollTop"));
$("#kendogrid .k-grid-content").scrollLeft(webStorage.local.get("gridScrollLeft"));
}

更新#2:Angular ui-grid
在与Kendo UI Grid争夺两周之后,我终于在昨天晚上放弃了整个框架。然后我选择了其中一个顶级的其他网格 - 最后得到Angular ui-grid,我能够在大约7个小时的工作后编程替换Kendo UI Grid。
我不是说Kendo UI是不好的软件,但对我而言,它似乎并不能说好Angular。至少不符合我的具体要求。