2015-12-02 49 views
0

我在設置Kendo Grid的總記錄數時出現了一個奇怪的問題。 我正在根據搜索查詢填充網格。結果在點擊提交按鈕時加載。Kendo Grid - 項目總數設置不正確(我正在使用Ajax調用來填充遠程數據)

網格分頁通過服務器端代碼來控制。因此,搜索結果被縮減爲結果的子集,並且檢索到的記錄數量按照爲網格設置的頁面大小。 我也提到了一個字段來獲得結果的總數。

服務器端執行後,結果以JSON格式發回。該響應包含結果數據和TotalRecordCount。

我設置的結果,電網這樣的(這工作!) $( '#信息搜索結果')。數據( 'kendoGrid')。dataSource.data(response.SearchResults) 但問題是,數頁面總是設置爲1

我嘗試設置「總」網格數據源明確的財產,

$( '#信息搜索結果')。數據( 'kendoGrid')。dataSource.total( response.TotalResults) 但這個設置不正確

我嘗試了不同的方法

var dataSource = new kendo.data.DataSource({ 
          data: response.SearchResults, 
          total: response.TotalRecordNumbers 
         }); 

var resultGrid = $('#SearchResult').data('kendoGrid'); 
         resultGrid.setDataSource(dataSource);//does not work 

我能夠填充效果,但問題是,因爲總的設置不正確,分頁不工作。

任何幫助,非常感謝。 謝謝

回答

1

您必須在架構上設置'total',而不是在dataSource本身上。

var dataSource = new kendo.data.DataSource({ 
    transport: { 
    /* transport configuration */ 
    }, 
    serverGrouping: true, 
    schema: { 
    total: function(response) { 
     return response.total; 
    } 
    } 
}); 

這個例子是從the official Doku

+0

感謝您的幫助。還有複製了一些其他的問題也是如此。最後,我通過將搜索功能實現移動到傳輸來解決了這個問題: data:function(){....}和在搜索按鈕中單擊,我只是調用$('#SearchResult')。data('kendoGrid')。dataSource.fetch(); – user2357530

相關問題