Angular2 Teradata共价数据表rowSelect Issue

时间:2017-02-15 22:20:20

标签: angular teradata

我有一个使用Teradata Covalent Data Table组件的Angular2 Web应用程序,启用了数据分页和行选择。数据通过REST api以小块的形式被拉出,而不是同时被所有行拉出,因此行选择不会在来回分页期间自动呈现。即,如果我在第1页上选择一行,则导航到第2页,然后返回第1页,第1页上的选定行不会突出显示。

我不确定这是否可以由blah.component.html文件中的模板条目处理,或者我是否需要在blah.component.ts(TypeScript)文件中执行某些操作。

在选择和取消选择行时,我在数字数组中跟踪所选行唯一ID。在.ts文件中 - > selectedItems:number [];

这是数据表的html代码:

<td-data-table [data]="items.content" [columns]="columns" [sortable]="true" [sortBy]="sortBy" [sortOrder]="sortOrder" [selectable]="true" [multiple]="true" (sortChange)="sort($event)" (rowSelect)="selectRow($event)" (selectAll)="selectAllRows($event)">
<template tdDataTableTemplate="matchCount" let-value="value" let-row="row" let-column="column">
    <div layout="row">
        <span flex>{{value | number:0}}</span>
    </div>
</template>
<template tdDataTableTemplate="itemSize" let-value="value" let-row="row" let-column="column">
    <div layout="row">
        <span flex>{{value | bytes}}</span>
    </div>
</template>

1 个答案:

答案 0 :(得分:3)

我联系了Grad Teradata /共同聊天组,他们能够帮助我。您只需循环遍历selectedRows中的值和新数据集中的值以查找任何匹配项。如果找到匹配项,只需将其从带有.splice的selectedRows中删除,然后将其从数据集中重新添加。实际上,它只是手动更新ngmodel。

this.selectedRows.splice(parseInt(x),1,this.newRow.content[y]);