基于PrimeNG TurboTable或TreeTable的行内容禁用/启用选择

时间:2019-01-17 13:12:28

标签: angular primeng-turbotable primeng-treetable

使用p-treeTable,我可以基于selectionMode =“ single”对所有行启用选择。现在,我想禁用对不打算选择的行的选择。

PrimeNG 7,Angular 7。

如果我删除tr的主体模板的[ttRow]="rowNode" [ttSelectableRow]="rowNode",则所有行都是不可选的。

<p-treeTable [value]="nodes" [columns]="columns" selectionMode="single" 
[(selection)]="selectedNode" dataKey="id" >

...

   <ng-template pTemplate="body" let-rowNode let-rowData="rowData" let-columns="columns">
      <tr [ttRow]="rowNode" [ttSelectableRow]="rowNode">
        <td *ngFor="let col of columns">            
          {{ rowData[col.field] }}
        </td>
      </tr>
    </ng-template>
  </p-treeTable>

现在我需要根据行数据进行检查,例如rowData.selectable', to enable/disable row selection based on the outcome of rowData.selectable`。 任何想法如何实现这一目标?

1 个答案:

答案 0 :(得分:0)

我知道这是一个老问题。 但是类似的东西呢?

<tr [ttRow]="rowNode" [ttSelectableRow]="rowNode" *ngIf=rowData.selectable>
    <td *ngFor="let col of columns">            
      {{ rowData[col.field] }}
    </td>
</tr>

<tr [ttRow]="rowNode" *ngIf=!rowData.selectable>
    <td *ngFor="let col of columns">            
      {{ rowData[col.field] }}
    </td>
</tr>