Json 使用奇怪的数据初始化数据表选择
我正在从MSSQL服务器检索两组数据。 集合一:(这是特定于用户的,因此此集合会更改) 第二组:Json 使用奇怪的数据初始化数据表选择,json,angular,primeng,primeng-datatable,Json,Angular,Primeng,Primeng Datatable,我正在从MSSQL服务器检索两组数据。 集合一:(这是特定于用户的,因此此集合会更改) 第二组: [ { "Platform": "BB", "ID": 1 }, { "Platform": "MDL01", "ID": 2 }, { "Platform": "MDLEX", "ID": 4 } ] Set two填充priming数据表。Set one的TargetID值指集合2中的ID。每当TargetID值与集合2中
[
{
"Platform": "BB",
"ID": 1
},
{
"Platform": "MDL01",
"ID": 2
},
{
"Platform": "MDLEX",
"ID": 4
}
]
Set two填充priming数据表。Set one的TargetID值指集合2中的ID。每当TargetID值与集合2中的ID相同时,我必须在Datatable中检查这一点
数据表:
<div class="col-md-12">
<p-dataTable [value]="doelplatformen" [rows]="3" class="thumbnail" resizableColumns="true" [paginator]="true" [pageLinks]="0"
[rowsPerPageOptions]="[3,5,10]" emptyMessage="Loading data" [(selection)]="selectedDoelplatformen" (onRowSelect)="onRowSelectDoelplatform($event)">
<p-column [style]="{'width':'30px'}" selectionMode="multiple"></p-column>
<p-column [style]="{'width':'40px'}" field="ID" header="ID"></p-column>
<p-column field="Platform" header="Platform"></p-column>
</p-dataTable>
</div>
我没有尝试太多,因为我不知道如何才能做到这一点?我甚至不知道如何硬编码选定的行
任何帮助都将不胜感激!提前谢谢 您可以将
set1
映射到应选择的ID数组:
let selectedIds = set1.map(it => it.TargetID);
然后选择该数组中存在哪些ID的set2
记录:
this.selectedItems = set2.filter(inv => selectedIds.indexOf(inv.ID) != -1);
使用表的selection
属性选择行:
<p-dataTable [value]="items" [(selection)]="selectedItems">
...
</p-dataTable>
...
我不清楚你的问题。如果集合1中的TargetID与集合2中的ID相同,那么应该发生什么?数据表的代码在哪里?那么应该选择与TargetID相同ID的行。我将用datatable代码更新问题这太完美了!!!!非常感谢你!这是我完成这篇论文的最后一周了,这是我最后一件想不出来的事:你救了我!如果我将一个数组传递给p-datatable,则数组中的项不会被预先选择。该表如何比较所选数组和值数组。@SaurabhTiwari,它比较行对象。如果需要按某个字段(如id)进行比较,则应使用p-dataTable组件的rowTrackBy属性。@hiper2d是指通过比较所有属性将对象与其他对象进行比较。@SaurabhTiwari,默认情况下,答案是“是”,但您可以更改此行为。阅读“选择”部分。它建议使用一些附加属性来防止比较。
<p-dataTable [value]="items" [(selection)]="selectedItems">
...
</p-dataTable>