The sub-category column need to be dynamically populated based on category column value. When I try to select category value, it populates all the row in the sub-category column instead of the specific row.
Please suggest how to change value of only the specific row?
<p-column field="category" header="Category" [sortable]="true" [editable]="false">
<ng-template let-item="rowData" pTemplate="body">
<select [(ngModel)]="item.category" (ngModelChange)="populateSubcategory($event)" [ngStyle]='{"width": "100%","border": "true", "background": "rgba(255,255,255,0)"}'>
<option *ngFor="let row of categoryList" [value]="row.value">{{row.label}} </option>
</select>
</ng-template>
<p-column field="subcategory" header="Sub-Category" [sortable]="true" [editable]="false">
<ng-template let-item1="rowData" pTemplate type="body">
<select [(ngModel)]="item1.subcategory" [ngStyle]='{"width": "100%","border": "true", "background": "rgba(255,255,255,0)"}'>
<option *ngFor="let row of subCategoryList" [value]="row.value">row.label</option>
</select>
</ng-template>
</p-column>
populateSubcategory(event) {
this.itemService.getCategory().then(items => {
var foundIndex;
for (var key in items) {
if (items.hasOwnProperty(key)) {
for (var key1 in items[key])
{
if (items[key][key1] === event)
{
foundIndex=key;
}
}
}
}
var foundMember = items[foundIndex];
this.subCategoryList = [];
for (var key in foundMember) {
if (key === "sub-category") {
for (key1 in foundMember[key])
{
this.subCategoryList.push({ label: foundMember[key][key1], value: foundMember[key][key1] });
}
}
}
});
}