Angular2的Kendo UI - 网格行选择

时间:2016-10-14 20:55:51

标签: kendo-ui-angular2

我有一个工作<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内进行搜索。

任何帮助都将不胜感激。

正常排序

Normal Sort

Ascending Sort

Ascending Sort

降序排序

Descending Sort

2 个答案:

答案 0 :(得分:2)

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

基本上,您还需要从代码中选择网格行项而无需用户交互,目前在Kendo UI Angular2控件的当前beta版本中不支持此项。

答案 1 :(得分:0)

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

我这样做的情况是我有'向上'和'向下'按钮来重新排列网格,并希望在切换项目时保持我的选择。

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