Пример несколько вкладок DataTables нумерация страниц не обновляется - PullRequest
0 голосов
/ 11 сентября 2018

Я использовал вкладку с 2 tabPanels, каждый из которых связывается с датируемым. Обратите внимание, что таблица данных Tab 1 имеет 100 строк, а страница отображает только 10 строк, а таблица 2 имеет таблицу данных, содержащую только 3 строки данных и без нумерации страниц (данные загружаются с отложенной загрузкой).

Теперь, если я щелкну на странице 3 из datatable на вкладке 1, данные загрузятся по мере необходимости. Но если я теперь нажму на вкладку 2, автоматически, event.first будет установлен на странице 3, даже если datatable должен обновиться.

Я использую ленивую загрузку в своих сетках и во вкладке tabPanel. Я также установил [cache]="false" в tabPanel.

Как получить данные для сброса при каждом нажатии вкладки?

<p-tabView>
                <p-tabPanel header="Work Queue" [cache]="false">
                    <ng-template pTemplate="content">
                        <p>
                            <p-dataTable selectionMode="single" (onRowSelect)="onRowSelect($event)" [(selection)]="selecteditemWQ" [value]="searchDocResults"
                                         [rows]="10" [paginator]="true" [(first)]="first"
                                         [lazy]="true" (onLazyLoad)="loadData($event)" [totalRecords]="totalRecordsCount"
                                         scrollHeight="5px" [loading]="loading" emptyMessage="No Records Found." rowHover="true">
                                <p-column field="DocumentName" header="Document Name" styleClass="wordbreak"
                                          [style]="{'width':'200px','overflow':'visible'}"
                                          [sortable]="true" [filter]="true" filterMatchMode="contains">
                                </p-column> 

                            </p-dataTable>
                        </p>
                    </ng-template>
                </p-tabPanel>

                <p-tabPanel header="My Documents" [cache]="false">
                    <ng-template pTemplate="myDocs">
                        <p>
                            <p-dataTable [value]="searchUserDocResults" [rows]="10" [paginator]="true" [(first)]="first"
                                         [lazy]="true" (onLazyLoad)="loadDataMyDocs($event)" [totalRecords]="totalRecordsCount"
                                         scrollHeight="5px" [loading]="loading" emptyMessage="No Records Found." rowHover="true"
                                         selectionMode="single" (onRowSelect)="onRowSelect($event)" [(selection)]="selecteditemWQ">

                                <p-column field="DocumentNumber" header="Document Number" styleClass="wordbreak"
                                          [style]="{'width':'150px','overflow':'visible'}" [sortable]="true" [filter]="true"
                                          filterMatchMode="contains">
                                </p-column>

                            </p-dataTable>
                        </p>
                    </ng-template>
                </p-tabPanel>
            </p-tabView>

1 Ответ

0 голосов
/ 11 сентября 2018

Решение: Я использовал ту же переменную, чтобы назначить свойство [(first)] для datatable. [(Первый)] = "первый". * * 1 001

Использовать разные переменные для обоих данных

...