带有奇怪数据的 Primeng 数据表选择
Primeng Datatable selection with weird data
我正在从 MSSQL 服务器检索两组数据。
设置一:(这是特定于用户的,因此此设置会更改)
[
{
"TargetID": 1,
"Enabled": true
},
{
"TargetID": 2,
"Enabled": true
}
]
设置二:
[
{
"Platform": "BB",
"ID": 1
},
{
"Platform": "MDL01",
"ID": 2
},
{
"Platform": "MDLEX",
"ID": 4
}
]
设置两个填充 Primeng 数据表。 Set one的TargetID值是指set 2中的ID。每当 TargetID 值与第二组中的 ID 相同时,我必须在数据表中进行检查。
数据表:
<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
映射到应该 selected:
的 ID 数组
let selectedIds = set1.map(it => it.TargetID);
然后选择那些 set2
记录,其 ID 存在于该数组中:
this.selectedItems = set2.filter(inv => selectedIds.indexOf(inv.ID) != -1);
使用 table 到 select 行的 selection
属性:
<p-dataTable [value]="items" [(selection)]="selectedItems">
...
</p-dataTable>
我正在从 MSSQL 服务器检索两组数据。 设置一:(这是特定于用户的,因此此设置会更改)
[
{
"TargetID": 1,
"Enabled": true
},
{
"TargetID": 2,
"Enabled": true
}
]
设置二:
[
{
"Platform": "BB",
"ID": 1
},
{
"Platform": "MDL01",
"ID": 2
},
{
"Platform": "MDLEX",
"ID": 4
}
]
设置两个填充 Primeng 数据表。 Set one的TargetID值是指set 2中的ID。每当 TargetID 值与第二组中的 ID 相同时,我必须在数据表中进行检查。
数据表:
<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
映射到应该 selected:
let selectedIds = set1.map(it => it.TargetID);
然后选择那些 set2
记录,其 ID 存在于该数组中:
this.selectedItems = set2.filter(inv => selectedIds.indexOf(inv.ID) != -1);
使用 table 到 select 行的 selection
属性:
<p-dataTable [value]="items" [(selection)]="selectedItems">
...
</p-dataTable>