如何清除剑道ui角2格的数据

时间:2016-12-14 10:25:10

标签: angular kendo-grid kendo-ui-angular2

如果用户导航另一个页面或只是注销,我正在寻找一种方法来清除Angular 2的Kendo UI Grid。我已经尝试将observable清除到null但它并不好,毕竟我无法填充数据。谁能建议我一个更好的方法呢?

2 个答案:

答案 0 :(得分:1)

您可以使用=Observable.empty()=Observable.from([])将视图设置为空数组,但如果要获取数据,则需要再次重新绑定服务。这就是为什么最简单的方法是调用.next([]),然后在需要时获取数据。见example

答案 1 :(得分:0)

我已调整@knikolov的答案以适合我的目的。由于我使用对象存储网格设置,因此.next([])会向我发出类型警告,因此可以将其替换为.next(null)

此外,如果用户不再位于结果的第一页上,则还可以将网格的skip属性设置为0来重置分页。

gridReset(): void {
    this.dataService.next(null); // clears grid data
    this.gridSettings.Skip = 0; // resets paging
    // ...
}

给出了网格:

<kendo-grid name="theGrid" 
            [data]="gridSettings.GridData | async"
            [skip]="gridSettings.Skip"
            [pageSize]="gridSettings.PageSize">

并声明设置对象变量:

public gridSettings: GridSettings = {
    Skip: 0,
    PageSize: 10,
    GridData: this.dataService
};