繁体   English   中英

使用 rowSelected 在 Angular Kendo UI 网格中设置初始选定行

[英]Set initial selected rows in Angular Kendo UI grid with rowSelected

我有一个 Kendo UI Grid,您可以通过单击将它们添加到数组的复选框来选择单个行; 但是,我想根据每行的dataItem是否在名为selectedAccounts的指定数组中来初始设置选定的行。

我曾尝试使用[rowSelected]="isRowSelected" ,但使用此方法不允许我选中/取消选中选择复选框。

我需要能够最初设置所选条件并根据需要更改选择。 还值得注意的是,当我从selectedAccounts任何内容开始时,我都没有问题。

是一个stackblitz供参考。

事实证明,我已经正确设置了所有内容,但是我在打字稿文件中使用isRowSelected的方式有误。 我原来有:

public isRowSelected = (e: RowArgs) => this.selectedAccounts.indexOf(e.dataItem) >= 0;}

上面的代码将始终返回 false,同时仍然正确显示selectedAccounts

进行以下更改后,可以正确读取selectedAccounts并允许我在更新selectedAccounts数组时根据需要切换复选框,而不会导致任何其他问题。

public isRowSelected = (e: RowArgs) => { 
  return this.selectedAccounts.find(f => e.dataItem.accountId === f.accountId) ? true : false;
}

我希望这个答案对其他人有帮助。 我已经更新了stackblitz以反映正确的代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM