I am displaying data by using p-dataTable in PrimeNG. I have a requirement where user can delete any row data.
I added a logic for deletion but after deletion table is not refreshing.
Also, I want to stay in the same page number after deletion
Here is my sample code :
<p-dataTable [value]="filteredInv" scrollable="true" scrollHeight="calc(100vh - 300px)" [rows]="list" [paginator]="true"
responsive="true" sortField="sku" sortOrder="1" [resizableColumns]="false" class="custom-pagi"
[hidden]="inCall" [(first)]="pageNo" (onPage)="changePage($event)" (onPageChange)="paginate($event)" [rowTrackBy]="rowTrackBy">
<p-column title="sku" field="sku" header="SKU" [style]="{'width':'120px'}" styleClass="sku-header border-column text-center" sortable="true"></p-column>
<p-column title="name" field="name" header="Item Name" styleClass="no-border-column-removed text-left"></p-column>
<p-column title="max" field="max" header="Quantity" styleClass="no-border-column-removed text-left"></p-column>
<p-column title="updatedAt" field="updatedAt" header="Date" styleClass="no-border-column-removed text-left">
<ng-template let-ri="rowIndex" let-rowdata="rowData" pTemplate="body">
{{(rowdata.updatedAt) | date:'MM/dd/yyyy' }}
</ng-template>
</p-column>
<p-column header="Actions" [style]="{'width': '150px'}" styleClass="no-border-column-removed text-left">
<ng-template let-ri="rowIndex" let-rowdata="rowData" pTemplate="body">
<md-icon class="fl cursor" (click)="editInventory(rowdata, ri)">mode_edit</md-icon>
<md-icon class="fl cursor" (click)="deleteSKU(rowdata, ri)" style="margin-left:8px;">delete</md-icon>
</ng-template>
</p-column>
</p-dataTable>
Here is my deleteSKU() logic
deleteSKU(data, ind) {
let dialogRef = this.dialog.open(DeletedialogComponent, {
data: {
message : data.sku
}
});
dialogRef.afterClosed().subscribe(result => {
if (result && data.id) {
let indx = this.filteredInv.indexOf(data)
this.http.removeInven(data.id).subscribe(res => this.removeRow(indx))
}
});
}
removeRow(indx) {
this.filteredInv.splice(indx, 1);
}

deleteSKUfunction please ? - Antikhippe