Angular kendo网格刷新

时间:2015-03-06 05:48:34

标签: angularjs kendo-ui refresh datasource

场景:点击各种按钮更新角度剑道网格。能够使用新服务返回值更新网格。

问题:Angular kendo网格在刷新时闪烁一秒钟。

HTML结构:尝试与&没有k-ng-delay

 <div id="alertGrid" kendo-grid k-options="alertGridOptions"
  k-rebind="alertGridOptions"  k-ng-delay="alertGridOptions.dataSource">
 </div>

点击刷新按钮时调用的功能

    $scope.renderAlertGrid=function(){
          $scope.alertDataSource.read();
          //$('#alertGrid').data('kendoGrid').refresh();
      };

试图只使用刷新,它完成了工作。与read()一起使用也没有影响。

一切正常,只是因为1秒闪烁和刷新,UI在刷新过程中变得有点尴尬。

请帮忙

由于

1 个答案:

答案 0 :(得分:0)

您的问题是您的数据源是在选项对象中声明的,并且您通过引用选项对象来绑定您的数据使用k-options,然后您使用k-rebind来观察选项对象的更改。因此,每次数据源选项对象中发生更改时,整个网格都会重新渲染,所有滚动等都会重置,因为k-rebind每次重新渲染检测到选项对象的更改。

您需要使用k-rebind属性删除k-data-source并分别绑定到数据源。然后,当您的数据源中的数据发生更改时,网格中的行将会更新,而不会重新渲染整个网格。

当必须更改选项对象并重新呈现整个窗口小部件时,将使用

k-rebind。例如,将条形图切换为饼图。这需要完全重新渲染。 k-rebind有点像黑客,应该避免imo。