Как разрешить столбец фильтра PrimeNg, у которого есть канал? - PullRequest
0 голосов
/ 30 марта 2020

Я работаю с таблицей простых чисел. это моя таблица PrimeNg:

 <p-table #FraisAcquisitionTable [columns]="columns"
[paginator]="true" [responsive]="true"
[value]="eventSearchList"
[rows]="5" selectionMode="single" [(selection)]="ligneEventSelected" (onRowSelect)="onRowSelect($event)"
sortMode="multiple" [multiSortMeta]="multiSortMeta"
dataKey="id">
 <ng-template pTemplate="caption">
    <div class="row">                                             
          <input type="text" pInputText size="13" placeholder="Rechercher"
             id="parametrage-commissionnement-table-filtre-global"
              (input)="FraisAcquisitionTable.filterGlobal($event.target.value, 'contains')"
               style="width: auto; float: right; margin-right: 15px;">
           <div style="float: right; padding-top: 5px; padding-right: 10px;">  <i class="fa fa-search"></i> </div>
                                        </div>
 </ng-template>
     header Table
  <ng-template pTemplate="header" let-columns>
                                        <tr>
                                            <th *ngFor="let col of columns" [ngStyle]="{'width': col.width}">
                                                <input (input)="FraisAcquisitionTable.filter($event.target.value, col.field, 'contains')"
                                                        pInputText style="width: 100%" type="text"
                                                        placeholder="{{col.header}}">
                                            </th>
                                        </tr>
                                        <tr>
                                            <th *ngFor="let col of columns" [pSortableColumn]="col.field"
                                                [ngStyle]="{'width': col.width}">{{ col.header }}
                                                <p-sortIcon [field]="col.field"></p-sortIcon>
                                            </th>
                                        </tr>
</ng-template>
 <ng-template pTemplate="body" let-rowData let-columns="columns"
              let-rowIndex="rowIndex">
     <tr [pSelectableRow]="rowData">
        <td *ngFor="let col of columns" [ngStyle]="{'width': col.width}">
                 <div *ngIf="col.field ==='qualification'">{{rowData[col.field] | gestionEventQualifacation| translate}}</div>
                 <div *ngIf="col.field ==='state'">{{rowData[col.field] | sateConvert | translate}}</div>                                                 
        </td>
     </tr>
 </ng-template>

</p-table>

У меня есть столбец «Квалификация», который имеет значение из базы данных: «4», «3», «2», «1» Я применяю трубу:

@Pipe({
   name: 'gestionEventQualifacation'
 })
 export class GestionEventQualifacationPipe implements PipeTransform {

   transform(value: any): any {
     if(!isNullOrUndefined(value.toString()) ){
         switch (value.toString()) {
           case '4':                
              return ' Desactiver';
           case '3':
              return 'informations';
           case '2':
              return ''insatisfait';
           case '1':
              return ''satisfait';
           } 
          }

        }

Теперь фильтр этого столбца не работает, когда я пытаюсь получить строки, которые имеют пример слова «Desactiver». как решить это? заранее спасибо.

...