2013-10-01 2 views
0

검도 새를 사용하고 있습니다. 표를 정렬 할 때 다음 페이지 데이터를 정렬하지 않습니다. 첫 페이지에만 정렬됩니다. 그리드에서 전체 데이터를 정렬하고 싶습니다. 내가 어떻게 해??내 검도 그리드의 다른 페이지에서 전체 데이터를 정렬하는 방법은 무엇입니까?

[System.Web.Http.AcceptVerbs("GET", "POST")] 
[System.Web.Http.HttpGet] 
[ActionName("FindByPartyIDForGrid")] 
public Responce FindByPartyIDForGrid(string partyID) 
{ 
    int take = httpRequest["take"] == null ? 10 : int.Parse(httpRequest["take"]); 
    int skip = httpRequest["skip"] == null ? 0 : int.Parse(httpRequest["skip"]); 
     var content = new ProductBS().FindByPartyID(Convert.ToInt32(partyID)); 
     if (content != null) 
     { 
     return new Models.Responce(content.Skip(skip).Take(take).ToArray(), content.Count()); 
     } 
     else 
     { 
     return new Responce(new Array[0], 0); 
     } 
} 

답변

1

이 같아

$("#ProductGrid").kendoGrid({ 
      columns: [ 
{ field: "ProductID", title: 'Product Id' ,width:50}, 
{ field: "ProductName", title: 'Product Name' }, 
{ field: "Price", title: 'Price' },    
], 
    groupable: true, 
    sortable: true, 
    pageable: true, 
    dataBound: function() { 
       this.expandRow(this.tbody.find("tr.k-master-row").first()); 
      }, 

    scrollable: true, 
    filterable: true, 
    dataSource: new kendo.data.DataSource({ 
    transport: { 
     read: "../api/Product/FindByPartyIDForGrid?partyID=" + PartyID 

      }, 
    serverPaging: true, 
    serverSorting: true, 
    pageSize: 50, 
    schema: { 
      data: "Data", 
      total: "Count" 
      } 
     }) 
}); 

내 서버 측 방법은 클라이언트 측 (검도) 문제가되지 않습니다. Kendo 그리드가 올바르게 구성되어 있습니다. FindByPartyIDForGrid 방법에서는 정렬을 수행하고 관련 페이지를 올바르게 반환해야합니다.

는 여기에 게시 할 수 있다면 우리는 그것의 모양을 가질 수, 서버 로직을 확인합니다.

편집 , 당신은 1.You는 당신은 sorting yourself를 처리하여 그것을 할 수 Odata protpcol
2를 사용 할 수

두 가지 옵션을 가지고 서버에 정렬을 처리하지 않은 것 같다,

+0

내 서버 측 method.D를 추가합니다. 추가 필요합니까? – Rukz

+0

답변을 수정했습니다. –

0

이 문제는 serverSorting을 사용하도록 설정했기 때문에 발생합니다. 그런 다음 자신을 정렬해야합니다.

당신이 클라이언트 측 정렬을 사용할 수 많은 항목에 그리드를 결합하지 마십시오. 단순히 데이터 소스의 serverSorting: true 옵션을 제거하십시오.

관련 문제