Angular2 Teradata 共价数据 Table rowSelect 问题
Angular2 Teradata Covalent Data Table rowSelect Issue
我有一个使用 Teradata Covalent Data Table 组件的 Angular2 网络应用程序,启用了数据分页和行 selection。数据是通过 REST api 以小块的形式提取的,而不是一次提取所有行,因此行 selection 在来回分页期间不会自动呈现。即,如果我 select 第 1 页上的一行,然后导航到第 2 页,然后返回到第 1 页,第 1 页上的 selected 行不会突出显示。
我不确定这是否可以通过 blah.component.html 文件中的模板条目处理,或者我是否需要在 blah.component.ts (TypeScript) 文件中做一些事情。
我在数字数组中跟踪 selected 行唯一 ID,因为行是 selected 和 deselected。在 .ts 文件中 --> selectedItems: number[];
这是数据 table 的 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>
我联系了 gitter Teradata/covalent 聊天组,他们能够帮助我。您只需遍历 selectedRows 中的值和新数据集中的值以查找任何匹配项。如果找到匹配项,只需使用 .splice 将其从 selectedRows 中删除,然后将其重新添加到数据集中。实际上它只是手动更新 ngmodel。
this.selectedRows.splice(parseInt(x),1,this.newRow.content[y]);
我有一个使用 Teradata Covalent Data Table 组件的 Angular2 网络应用程序,启用了数据分页和行 selection。数据是通过 REST api 以小块的形式提取的,而不是一次提取所有行,因此行 selection 在来回分页期间不会自动呈现。即,如果我 select 第 1 页上的一行,然后导航到第 2 页,然后返回到第 1 页,第 1 页上的 selected 行不会突出显示。
我不确定这是否可以通过 blah.component.html 文件中的模板条目处理,或者我是否需要在 blah.component.ts (TypeScript) 文件中做一些事情。
我在数字数组中跟踪 selected 行唯一 ID,因为行是 selected 和 deselected。在 .ts 文件中 --> selectedItems: number[];
这是数据 table 的 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>
我联系了 gitter Teradata/covalent 聊天组,他们能够帮助我。您只需遍历 selectedRows 中的值和新数据集中的值以查找任何匹配项。如果找到匹配项,只需使用 .splice 将其从 selectedRows 中删除,然后将其重新添加到数据集中。实际上它只是手动更新 ngmodel。
this.selectedRows.splice(parseInt(x),1,this.newRow.content[y]);