【问题标题】:KendoUI Angular 2 how to refresh Kendo GridKendo UI Angular 2如何刷新Kendo Grid
【发布时间】:2018-03-12 10:26:49
【问题描述】:

我正在循环显示一个网格。每次在循环中,我都将数据源设置为一个新表,该表以数组表示,但网格不会改变。显示上一个表中的列,而从不显示新表列。疯狂的是,只有当 table1 上的列也存在于表 2 或 3 中时,数据才会更新。

如何在数据源更改后更新网格?

ChangeGrid(file){
this.fileData = file;
} 

  <kendo-grid [kendoGridBinding]=fileData [height]='200' [pageSize]="10" [pageable]="true" [sortable]="true" [filterable]="false" [groupable]="false">
        </kendo-grid>

【问题讨论】:

标签: javascript kendo-ui kendo-ui-angular2


【解决方案1】:

您基本上是在替换具有KendoGridBinding 引用的变量,并且您正在用新数组替换它,因此绑定从您的变量中删除并被您的数组替换。

要复杂地显示更改,您必须编写自定义绑定指令,请按照以下步骤操作:http://www.telerik.com/kendo-angular-ui/components/grid/data-operations/data-binding/automatic-operations/

快捷方式:您可以推送或弹出数组项,它将保留变量中存在的绑定

ChangeGrid(file){
this.fileData.push(file[0]);
}

【讨论】:

  • 我想我的问题可能措辞有误。我需要网格来显示所有新数据,而不是添加到网格 datsource 数组。所以每个循环都是一个全新的表格,有不同的列和标题。
  • 当我循环剑道网格时,它不会更改列,但会尝试将新数据映射到任何可能具有相同名称的旧列
  • 为此,您必须编写自定义绑定指令。 telerik.com/kendo-angular-ui/components/grid/data-operations/… 您可以在指令中编写 rebind 方法,您将在其中更改数据。
  • 我添加了一个 plunkr 来看看我的意思
猜你喜欢
  • 1970-01-01
  • 2017-06-10
  • 2014-06-08
  • 2022-01-20
  • 2018-07-29
  • 2017-08-14
  • 2018-03-08
  • 2017-07-23
  • 2022-12-15
相关资源
最近更新 更多