Kendo UI DataSource删除项目非常慢

时间:2016-01-11 23:55:18

标签: kendo-ui kendo-grid

我有一个使用数据源填充的kendo ui网格,其中包含少于40个项目。每个项目有大约10个字段,其中一个是包含不超过3个项目的数组。网格有一个详细信息模板,其中还包含一个网格,该网格由主记录中的数组字段填充。

当我调用dataSource.remove(item)时,删除项目大约需要10秒。

这是数据源:



var ds = new kendo.data.DataSource({
  transport: {
    read: function (options) {
      $.ajax({
        url: 'some service url',
        type: 'GET'
      }).success(function (data) {
        options.success(data);
      })
    },
  },
  sort: { field: 'Ordinal', dir: 'asc' },
  schema: {
    model: {
      id: 'ID',
      fields: {
        Name: { editable: false },
        Ordinal: { editable: false }
      }
    }
  }
})




这是我的网格:



<div id="grd" data-role="grid"
     data-auto-bind="true"
     data-editable="true"
     data-selectable="false"
     data-resizable="true"
     data-sortable="true"
     data-scrollable="true"
     data-detail-template="fTemplate"
     data-columns="[
                   { field: 'Name', title: 'Name' },
                   { template: kendo.template($('#tStatus').html()), title: 'Status', width: '150px' },
                   { template: kendo.template($('#tError').html()), title: 'Continue On Error', width: '150px' },
                   { field: 'Ordinal', title: 'Order', width: '75px' }
                   ]"
     data-bind="source: ds, events: { detailInit: initializeDetails }" style="height: 300px;">
</div>
&#13;
&#13;
&#13;

我正在努力理解为什么性能缓慢。我之前使用过删除方法,从来没有遇到过问题。

非常感谢任何建议。

感谢。

1 个答案:

答案 0 :(得分:1)

经过几个小时的游戏和测试后,我发现了性能缓慢的原因。

问题是我的网格有2个模板列,一个是下拉列表,另一个是复选框。如果我删除它们,一切都很好。我认为性能打击来自于网格必须渲染2个模板并启动并绑定每行的小部件。

在这种情况下,有没有办法改善效果?