Kendo UI 对于 Angular2 - 网格行 Select

Kendo UI For Angular2 - Grid Row Select

我有一个有效的 <kendo-grid> 组件,在 34 行的数据集(大约 4 页)中有 10 行可见。排序和 selecting 按预期工作。

<kendo-grid [data]="gridView" 
                    [pageSize]="pageSize" 
                    [skip]="skip" 
                    [pageable]="true" 
                    [height]="300" 
                    (pageChange)="pageChange($event)"
                    [sortable]="{ mode: 'single' }" 
                    [sort]="sort" 
                    [selectable]="true" 
                    (sortChange)="sortChange($event)" 
                    (selectionChange)="selectionChange($event)">

说我 select 第二行。然后我对 table 进行排序,selection 保留在第二行,但当然它突出显示了不同的记录。它总是 select 在网格的第二行,这当然是我想要的。

如何清除我的 (sortChange) 事件中的 selected 行,这样至少不会向用户显示他们已经选择的不同 selection。我对 selected 行的某种数据绑定属性持开放态度,我可以将其设置为 null 或 gridView 上的某些 属性,甚至可以在 @ViewChild 内部四处寻找。

如有任何帮助,我们将不胜感激。

正常排序

升序排序

降序

我在这里有一个类似的问题:

基本上,您还需要在没有用户交互的情况下从代码中 select 网格行项目,目前 Kendo UI Angular2 控件的当前 Beta 版本不支持此功能.

在我的应用程序中,我求助于在我想要 select 的行上触发点击事件。 :/

我这样做是因为我有 'up' 和 'down' 按钮来重新排列网格并希望在切换项目时保持我的 selection。

var grid = document.getElementById('myGrid');
var rows = grid.getElementsByTagName('tr');
rows[idx].click(); // add one to the desired row index to skip the header row

这是这种情况的(草率的,最小的)Plunkr:http://plnkr.co/edit/09dlqdl0Xchoy0e5zKRq