2014-11-21 20 views
0

我正在使用具有AutoBind(false)選項的kendo網格。現在我根據用戶的標準在劍道網格中填充數據。現在的問題是,當我申請下面的代碼時,它會進行兩個服務器端調用。停止Kendo Grid在移動到第一頁時撥打服務器電話

$("#KendoListData").data("kendoGrid").dataSource.read(); 
$('#KendoListData').data('kendoGrid').dataSource.page(1); 

而且當我調試代碼時,我發現$('#KendoListData').data('kendoGrid').dataSource.page(1);語句觸發了服務器調用。

那麼有沒有辦法停止服務器調用,並移動到第一頁?

+0

這兩行代碼都強制讀取DataSource。刪除第一行'$('#KendoListData')。data('kendoGrid')。dataSource.page(1);''是你所需要的,它將刷新數據源並將網格設置爲頁面1. – CSharper 2014-11-24 14:48:26

回答

0

使用dataBound並設置頁碼,它不會進行兩個服務器端調用。

$('#KendoListData').data('kendoGrid').one("dataBound", function() { 
       this.dataSource.page(2); 
}); 

我希望這將幫助你:)

+0

'不要用它。它會針對每一個datalist項目執行。 – Dhwani 2014-11-21 10:08:07

0

您可以通過在數據源轉向serveroperations關閉使用客戶端分頁。

.DataSource(dataSource => dataSource 
    .Ajax() 
    .ServerOperation(false) 
    ...) 

但現在所有數據都發送到客戶端,而不僅僅是當前顯示的頁面/過濾器/組。