티쿤 2.0 페이징 처리
티쿤 2.0의 페이징 처리 기능을 설명합니다.
PagingListQuery
페이징 처리 쿼리는 PagingListQuery
public class PagingListQuery<T>
{
public string ListQuery { get; set; }
public string CountQuery { get; set; }
public object DbParam { get; set; }
public PagingInfo PagingInfo { get; set; }
}
사용 방법
DAO 호출
Service단에서 COD 호출이 아닌 DAO에서 호출합니다.
public PagingListResult<UserItem> GetUserlist(PagingParam param)
{
return UserDao.GetUser(new PagingInfo() { Page = param.Page, PageSize = param.PageSize});
}
PagingInfo 객체
PagingInfo 객체에는 현재 페이지 수 Page와 페이지 당 리스트 수 PageSize가 정의 되어있습니다. 스크립트,컨트롤러단에서 전달받은 객체를 PagingInfo 객체에 바인딩하여 사용합니다. 스크립트 및 컨트롤러 구현방법은 https://tqoondevteam.github.io/pages/devguide/webProject/partner/common/pagination.html 기술 되어있습니다.
public class PagingInfo
{
public int Page { get; set; } = 1;
public int PageSize { get; set; } = 20;
}
PagingListQuery
- ListQuery의 경우 정렬 필수 (ORDER BY 정확한 컬럼명 기재)
public PagingListResult<UserItem> GetUser(PagingInfo pagingInfo)
{
return Query(new PagingListQuery<UserItem>
{
ListQuery = $@
"SELECT * FROM tblUser with(nolock) ORDER BY intUserNum DESC",
CountQuery = $@
"SELECT COUNT(*) FROM tblUser with(nolock)",
PagingInfo = pagingInfo
});
}