2012-02-17 2 views
-1

wpf하는 방법 이전 다음 페이지. 컨트롤을 사용할 수 있습니까? 이이전 다음 페이지로 이동 하시겠습니까?

prev 1 2 3 4 5 ... 20 next 

처럼 나는 이걸 발견하지만 난 그것을 사용하는 방법을 모르겠어요.

var dicts = (from m in db.sys_Dictionary 
      orderby m.sd_Key 
      select m).Skip(90).Take(10); 

linq를 실행할 수는 있지만 완전한 포트폴리오로 만드는 방법을 알지 못합니다.

많은 데이터가 b/s 인 것을 알았습니다. c/s의 페이징 기능이 필요합니다. 감사합니다.

+0

나는 b/s와 c/s가 무슨 뜻인지 잘 모르겠습니다. – Robaticus

+0

bs는 web application.cs는 데스크톱 응용 프로그램입니다. – hic

답변

1

방금 ​​게시 한 내용은 linq 쿼리이지만 linq 작동 방법을 모르는 경우에는 실제로 설명 할 수 없습니다. 기본적으로 성명은 을 선택 모두 테이블에서 일명 데이터베이스 컨텍스트 db 테이블 이름 sys_Dictionary 및 주문 열 sd_Key. 그런 다음 whats thats evaulated는 Skip 메서드를 사용하여 반환 된 첫 90을 건너 뛰고 다음 10 개 레코드 만 반환합니다.

이해할 수없는 문제는이 인스턴스에만 페이지가 표시된다는 것입니다. 당신은 당신이 HasNextPage

예를 가지고 HasPreviousPage 하나를 가지고 두 가지 방법, 하나가 너무

public PaginatedList<T>(IQueryable<T> source, int pageIndex, int? pageSize) 
{ 
    PageIndex = pageIndex; //global variable 
    PageSize = pageSize ?? source.Count(); //global variable 
    TotalCount = source.Count(); //global variable 
    TotalPages = (int)Math.Ceiling(TotalCount /(double)PageSize); //global variable 
    this.AddRange(source.Skip(PageIndex*PageSize).Take(PageSize)); 
} 

같은 페이징 클래스를 설정해야 다음 이전 페이지 일을 설정하려면 당신이 당신의 정보를 전달하고, 예를 들어 해당 페이지를 반환 할 수 있습니다 자신의에서 다음

public bool HasPreviousPage 
    { 
     get 
     { 
      return(PageIndex >0); //same global variable 
     } 
    } 

int page= 6; 
var dictspage = new PaginatedList<m>(dicts, page, 10); //remove the skip and take from your dicts 
관련 문제