簡體   English   中英

Telerik kendo-grid Paging - 第一次加載時間太長

[英]Telerik kendo-grid Paging - Taking too much time to load for the first time

我正在使用 Angular 6 和 Telerik kendo-grid 4.8.4

下面是劍道網格的示例代碼

<kendo-grid #grid="kendoGrid" class="k-grid-fullheight" (cellClick)="onCellClick($event)"
        (dataStateChange)="dataStateChange($event)" [sortable]="{allowUnsort: false, mode: 'single'}"
        [sort]="state.sort" [filter]="state.filter" [data]="TestData" [selectable]="selectableSettings"
        [pageable]="true" [pageSize]="state.take" [skip]="state.skip" filterable="menu" [reorderable]="true"
        (selectionChange)="selectionChanged($event)" [groupable]="false" [group]="state.group" [columnMenu]="true"
        [resizable]="true">

<kendo-grid-column showSelectAll="true" [width]="60" [minResizableWidth]="60">
          <ng-template kendoGridHeaderTemplate let-column let-columnIndex="columnIndex">
              <input type="checkbox" (click)="SetAllSelected($event)" />
          </ng-template>
          <ng-template kendoGridCellTemplate let-dataItem>
              <input type="checkbox" [checked]="dataItem.selected" [attr.disabled]="dataItem.Name !== null  ? true : null" (click)=SetSelectedItem(dataItem) />
          </ng-template>
      </kendo-grid-column>
<kendo-grid-column field="Name" title={{NAME}} filter="text" [filterable]="true"
          headerClass="kendoColumn">
          <ng-template kendoGridCellTemplate let-dataItem>
            <a *ngIf="dataItem.Status === 0"
              [routerLink]="['/MyModule/details/'+dataItem.Id]">{{dataItem.Name}}</a>
            <span *ngIf="dataItem.Status === 1">{{dataItem.Name}}</span>
          </ng-template>
        </kendo-grid-column>
</kendo-grid>

嘗試按照以下鏈接

角度組件中劍道網格的服務器端參數

分頁在上面的鏈接中工作正常。

網格首次加載需要 20 秒,因為它試圖獲取大約 20,000 條記錄。

如何修改當前的劍道網格以僅獲取前 10 條記錄?

單擊頁碼,是否可以再次從服務器獲取?

任何幫助將不勝感激。

如果您也發布一些 ts 代碼會有所幫助。

如何修改當前的劍道網格以僅獲取前 10 條記錄?

state.take設置為10並將state.skip0並進行 http 調用以獲取數據。

單擊頁碼,是否可以再次從服務器獲取?

是的,在 ts 中的dataStateChange(event: DataStateChangeEvent)中,您應該將event附加到statethis.state = event; 並進行 http 調用以檢索相應的數據(例如,只是console.log(event)並且您將看到在第 3 頁event.skip將是 20,在第 4 頁event.skip將是 30,等等)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM