2012-08-24 3 views
0

내 URI (WCF 서비스)에 put grid의 페이징 매개 변수에 문제가 있습니다. 여기WCF 서비스로 Extjs에서 페이징

내 그리드 내 '저장'코드 : 여기

Ext.define('KP.store.Listls', { 

    extend: 'Ext.data.Store', 
    model: 'KP.model.Listls', 

    autoLoad: true, 

    pageSize: 50, 
    autoLoad: { start: 0, limit: 50 }, 


    autoSync: true, 
    proxy: { 
     type: 'ajax',   
     startParam: undefined, 
     api: { 

     read: '/adres/listls?page=' + 1 + '&size=' + 20    
     }, 
     reader: { 
      type: 'json', 
      root: 'data',   
      totalProperty: 'total' 
     }  
    } 

}); 

및 인터페이스 서비스 내 코드 :

[WebInvoke(
     Method = "GET", 
     //UriTemplate = "/list", 
     UriTemplate = "listls?page={page}&size={size}",     
     RequestFormat = WebMessageFormat.Json, 
     ResponseFormat = WebMessageFormat.Json, 
     BodyStyle = WebMessageBodyStyle.Bare 
    )] 
    List<Person> GetLs(string page, string size); 

문제는이 코드 문자열입니다 :

read: '/adres/listls?page=' + ??? + '&size=' + 20 

페이지 번호를 이해하는 데 사용할 수있는 매개 변수는 무엇입니까? 감사합니다.

답변

1

쉽지는 않지만 할 수 있습니다. 당신은 두 가지를 구현해야합니다 :

  1. limitParam으로 startParam$take 당신의로의 ExtJS 리더 사용 $skip을 변경

    . WCF 끝에서이를 분석하는 특별한 논리를 구현할 필요가 없습니다. 이미 $skip$take을 알고 있습니다.

  2. 총 레코드 수를 어떻게 든 보내려면 WCF 쪽을 변경하십시오. 기본적으로 페이지 매김을 사용할 때 JSON 객체 내부로 전송 된 총 레코드 수는 -1이됩니다.

+0

고마워요! 정말 중요하고 유용한 정보입니다! – Oleg

관련 문제