globalfilter на статических столбцах p-таблицы, если данные td изменены - PullRequest
0 голосов
/ 24 сентября 2018

Я пытаюсь сделать глобальный фильтр для p-таблицы, где столбцы таблицы являются статическими. Также данные таблицы изменяются в соответствии с некоторыми логическими условиями.Поле таблицы содержит логические данные, но фильтр должен применяться к данным, которые дает логическое значение.

ex.Поле «пол» является логическим, и если оно истинно, мы отображаем «Мужской» в таблице, иначе «Женский».Я хочу, чтобы фильтр работал с данными, которые есть в тд (мужской / женский)

<input type="text" pInputText size="35" [(ngModel)]="filterValue" (input)="table.filterGlobal(filterValue, 'contains')" style="width:auto">

<p-table #table [value]="myData"   [globalFilterFields]="['name','gender','profession']" >
        <ng-template  pTemplate="header" >
            <tr>
                <th [pSortableColumn]="'name'" style="width:60%">  Name </th>
                <th  [pSortableColumn]="'gender'" style="width:20%"> Gender </th>
                <th  [pSortableColumn]="'profession'" style="width:20%"> Profession </th>
            </tr>
        </ng-template>
        <ng-template pTemplate="body" let-rowData let-rowIndex="rowIndex">
            <tr [pSelectableRow]="rowData" [pSelectableRowIndex]="rowIndex">                 
                <td title="{{rowData['name']}}" style="width:60%"> {{rowData['uri']}} </td>
                <td  title="{{ (rowData['gender'])? 'Male' : 'Female' }}" style="width:20%">{{ (rowData['isMaster'])? "Male" : "Female" }}</td>
                <td  title="{{ (rowData['profession'])? 'Professor' : 'Student' }}" style="width:20%">
                <button type="button" class="primary" (click)="changeState()">{{ (rowData['profession'])? "Professor" : "Student" }}</button>
                </td>
            </tr>

        </ng-template>
        <ng-template pTemplate="emptymessage" >
            <tr>
                <td [attr.colspan]="3" class="noRecordsMsg">
                    No Data found
                </td>
            </tr>
        </ng-template>
    </p-table>



myData = [{active:true,name:"ABC",gender:true,profession:true},
{active:true,name:"PQR",gender:false,profession:true},
{active:true,name:"XYZ",gender:true,profession:false}]
...