3

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

<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)">

假设我选择第二行。然后我对表格进行排序,选择保留在第二行,但当然它突出显示了不同的记录。它总是选择网格上的第二行,这当然是我想要的。

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

任何帮助,将不胜感激。

正常排序

正常排序

升序排序

升序排序

降序排序

降序排序

4

2 回答 2

2

我在这里有一个类似的问题:Select grid row item from code

基本上,您还需要在没有用户交互的情况下从代码中选择网格行项目,目前 Kendo UI Angular2 控件的当前 beta 版本不支持这一点。

于 2016-10-19T13:27:27.207 回答
0

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

如果我有“向上”和“向下”按钮来重新排列网格并希望在切换项目时保持我的选择,我会这样做。

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

于 2017-01-11T21:01:11.990 回答