2013-11-25 68 views
0

在初始加載後,我試圖使用ajax請求來過濾kendo網格,因爲我基於網格之外的許多控件進行過濾。我的請求數據在newObj中是正確的,我從服務器得到的結果是正確的。 我正在使用此代碼。關於ajax請求kendo分頁問題

$.ajax({ 
    url: 'Books/GetAll', 
    type: "POST", 
    async: false, 
    data: JSON.stringify(newObj), 
    dataType: "json", 
    contentType: "application/json; charset=utf-8", 
    success: function (returnValue) { 
     var grid = $('#kBooks').getKendoGrid(); 
     grid.dataSource.data(returnValue.GridData); 
     **grid.dataSource.totalPages(returnValue.TotalCount);** 
     grid.refresh(); 
    }, 
    error: function (request, status, error) { 
    } 
}); 

我上格顯示正確的數據,不過雖然我得到returnValue.TotalCount爲超過1頁電網變得不再分頁。 我只需要知道如何設置數據後設置網格上的總頁面值。 謝謝

回答

1

totalPages方法無法設置總頁數。如果數據源配置爲服務器分頁,則只需設置總數。但是在這種情況下,數據源需要自行檢索數據(使用其傳輸配置)。

如果您尚未啓用服務器分頁,則無需設置總計。數據源將查找可用數據(通過data方法設置)。

如果已經啓用了服務器分頁您需要更改您的實現:

dataSource: { 
    schema: { 
    // Describe the response format 
    data: "GridData", 
    total: "TotalCount" 
    }, 
    transport: { 
    read: function(options) { 
     $.ajax({ 
     url: 'Books/GetAll', 
     type: "POST", 
     async: false, 
     data: JSON.stringify(newObj), 
     dataType: "json", 
     contentType: "application/json; charset=utf-8", 
     success: function (returnValue) { 
      // notify the data source that data has been received 
      options.success(returnValue); 
     }, 
     error: function (request, status, error) { 
     } 
     }); 
    } 
    } 
} 
+0

Atanans,感謝您的答覆。但是我在傳輸讀取之外使用ajax方法。例如,在網格外點擊按鈕時,我想使用此外部方法來刷新網格而不是網格讀取功能。我現在如何修復分頁? – akjha627

+0

我在我的回覆中回答了這個問題。如果您使用服務器分頁,則必須使用自定義傳輸。如果你不這樣做 - 你不需要設置總數。 –

+0

嗨@AtanasKorchev我也kendo網格分頁問題我從ajax加載我的數據一切看起來不錯,但我不能分頁或調整網格大小...這是我的問題也許你可以幫助我http://stackoverflow.com/questions/36197713 /劍術-UI-網格尋呼是 - 不工作?noredirect = 1#comment60033754_36197713 – saulyasar