Angular 预处理TurboTable-条件行分组

Angular 预处理TurboTable-条件行分组,angular,primeng,primeng-datatable,primeng-turbotable,Angular,Primeng,Primeng Datatable,Primeng Turbotable,我使用的是PrimeNG的TurboTable(p-table) 我有一个groupField参数,它可以是null,也可以有一个对应于列标题的值。此参数的值可以随时动态更改。预期的行为是,当groupField==null呈现一个正常的表时,但当'groupField==`时,则按照此值对行进行分组,如图所示 我想实现rowgrouping,如前所述,其中表响应groupField参数中的更改 我尝试过的: 使用pTemplate=“body”制作两个ng模板,类似于这样 ... ... .

我使用的是PrimeNG的TurboTable(p-table)

我有一个
groupField
参数,它可以是
null
,也可以有一个对应于列标题的值。此参数的值可以随时动态更改。预期的行为是,当
groupField==null
呈现一个正常的表时,但当'groupField==`时,则按照此值对行进行分组,如图所示

我想实现rowgrouping,如前所述,其中表响应
groupField
参数中的更改

我尝试过的:

  • 使用
    pTemplate=“body”
    制作两个ng模板,类似于这样
  • 
    ...
    ...
    ...
    
    这个不起作用,因为我怀疑p-table在第一次呈现数据时形成了它的配置,随后只更新数据

  • 使用
    ngIf
    制作两个不同的
    s,一个带行分组,另一个不带行分组,以控制在给定时间显示哪一个。这个可以工作,但对我来说没有意义,因为我应该能够在一个表中完成这项工作,就像我在较旧的
    中所做的那样
  • 我希望有一个表来处理所有这一切。

    您可以在
    中添加一个
    ,这样看起来像这样:

    <ng-template pTemplate="body">
       <ng-container *ngIf="groupField==null">
        ...
       </ng-container>
       <ng-container *ngIf="groupField!=null">
        ...
       </ng-container>
    <ng-template>
    <ng-template pTemplate="rowexpansion" *ngIf="groupField!=null">
        ...
    <ng-template>
    
    
    ...
    ...
    ...
    
    您可以在此处检查它是否正常工作:

    表grouping.component.ts
    中有一个
    groupField
    ,您可以将其从true更改为false,以检查其工作原理。

    您可以在
    中添加一个
    ,使其看起来像这样:

    <ng-template pTemplate="body">
       <ng-container *ngIf="groupField==null">
        ...
       </ng-container>
       <ng-container *ngIf="groupField!=null">
        ...
       </ng-container>
    <ng-template>
    <ng-template pTemplate="rowexpansion" *ngIf="groupField!=null">
        ...
    <ng-template>
    
    
    ...
    ...
    ...
    
    您可以在此处检查它是否正常工作:

    tablegrouping.component.ts
    中有一个
    groupField
    ,您可以将其从true更改为false,以检查其工作方式