我有2个要求。第一个是显示带有动态列的表。我能够实现这个要求。第二个是允许用户重新排序列并将其保存为首选项,以便下次登录时,他们会按照先前保存的顺序查看列。
这里的问题是,我的一些专栏中有一些额外的逻辑。例如:SerialNumber列具有必须是锚标记并单击相同的逻辑,将导航用户到所选记录的详细信息。如果图标的值等于某个值,则“状态”列具有设置图标的逻辑。
11列中有3列具有这样的逻辑,而其他8列只是简单地显示值。
如何使用静态列(使用ngx-datatable-column创建)和动态列重新排序。
样品:
Dynamic Columns
<ngx-datatable-column *ngFor="let col of dynamicColumns" [prop]="col.Name" [minWidth]="130" [sortable]="true ">
<ng-template let-value="value " let-row="row" ngx-datatable-cell-template>
<label> {{ row[col.Name] | UTCToLocalTime }} </label>
</ng-template>
</ngx-datatable-column>
Static Columns:
<ngx-datatable-column prop="TicketNumber" [minWidth]="145" [sortable]="true " [cellClass]="IsSLABreach">
<ng-template let-value="value " let-row="row " ngx-datatable-cell-template>
<a (click)="displayTicketDetails(row.TicketId) " class="ticketNumberValue" style="cursor: pointer ">
{{ value }}
</a>
</ng-template>
</ngx-datatable-column>