0

尝试水平滚动 Kendo UI Angular2 网格时,我遇到了 IE 11 中性能不足的问题。列数可能会不时改变。至少我每次有 30 列。IE 要么冻结 UI 超过 10 秒,甚至崩溃。

我的网格版本是 0.5.0。这是我的网格设置:

<kendo-grid
    [data]="view"
    [scrollable]="'virtual'"
    [height]="gridHeight"
    [pageSize]="pageSize"
    [rowHeight]="rowHeight"
    [skip]="skip"
    [sortable]="{ mode: 'multiple' }"
    [sort]="sort"
    (sortChange)="sortChange($event)"
    (pageChange)="pageChange($event)">
    <template ngFor [ngForOf]="columns" let-column>
        <kendo-grid-column
            field="{{column}}"
            [headerStyle]="{'border': 'none', 'font-size': 'medium'}"
            [width]="computeWidth(column)"
            [style]="{'border': 'none', 'font-size': 'small'}">
            <template kendoCellTemplate let-dataItem>
                <div>
                    {{dataItem[column] | truncate : 75 }}
                </div>
            </template>
        </kendo-grid-column>
    </template>
</kendo-grid>

编辑:将网格更新到 0.6.2,与 IE 相同,甚至 Chrome 的思考时间也比预期的要长。例子在这里

4

1 回答 1

1

使用虚拟滚动时,不要将网格绑定到完整的数据(数千行),而只绑定到当前分页的数据。这就是使虚拟滚动快速的原因——仅呈现当前可见的数据。这显示在文档中的虚拟滚动示例中

private loadProducts(): void {
    this.gridData = {
        data: this.data.slice(this.skip, this.skip + this.pageSize),
        total: this.data.length
    };
}

请参阅更新的 plunker 片段

于 2016-11-24T12:24:53.257 回答