2014-10-30 35 views
2

我剛剛在我的應用程序中使用kendo網格,並且我需要在網格中顯示2500條公司的記錄。但是當我嘗試綁定像200更少的數據其工作良好,但是當我嘗試綁定2500個記錄它不顯示任何數據(「沒有條款顯示」)巨大的數據不綁定到Kendo Grid

格來顯示:

<div id="divSearchResult" > 

</div> 

劍道綁定:

<script> 
     function BindGridSearchResult(data) 
     { 
      $("#divSearchResult").kendoGrid({ 
       dataSource: data, 
       navigatable: true, 
       pageable: true, 


       //toolbar: ["create", "save", "cancel"], 
       columns: [ 

        { field: "UnitID", title: "UnitID", width: 110, hidden: true }, 
        { field: "Nickname", title: "Nickname", width: 110 }, 
       { field: "ContractNumber", title: "ContractNumber", width: 110 }, 
     { field: "SerialNumber", title: "SerialNumber", width: 110 }, 
     { field: "UnitPriority", title: "UnitPriority", width: 110 }, 
     { field: "Address1", title: "Address1", width: 110 }, 
     { field: "City", title: "City", width: 110 }, 
     { field: "Region", title: "Region", width: 110 }] 


      }); 

     } 
    </script> 

Ajax調用來獲取數據:

$.ajax({ 
      url: "/Admin/GetSearchUnit", 
      data: Data, 
      success: function (result) 
      { 
       debugger; 
       BindGridSearchResult(result); 
       //alert("Success"); 
      }, 
      erro: function (error, err) { 
       alert("Failed"); 
      }, 

     }) 

數據較少:enter image description here

海量數據:

enter image description here

請幫我出這個問題..

三江源提前..

回答

2

您可以使用Ajax的結合與分頁,這是開箱即用的Kendo網格如下:

@(Html.Kendo().Grid<SearchUnit>() 
    .Name("divSearchResult") 
    .DataSource(dataSource => dataSource // Configure the grid data source 
     .Ajax() // Specify that ajax binding is used 
     .Read(read => read.Action("GetSearchUnit", "Admin")) 
    ) 
    .Columns(columns => 
    { 
     columns.Bound(searchunit => searchunit.ID); 
     columns.Bound(searchunit => searchunit.Name); 
    }) 
    .Pageable() // Enable paging 
    .Sortable() // Enable sorting 
) 

這樣你就可以接收數據到頁面,這裏是你應該如何實現服務器端:

public ActionResult GetSearchUnit([DataSourceRequest]DataSourceRequest request) 
{ 
    using (var _db = new DatabaseEntities()) 
    { 
     IQueryable<SearchUnit> unitslist = _db.units; 
     DataSourceResult result = unitslist.ToDataSourceResult(request); 
     return Json(result); 
    } 
} 
+0

謝謝沙希德 – 2014-12-17 14:15:00

+0

歡迎您:) – Shadi 2014-12-18 05:24:28