며칠 전에 <<저장 프로시저에서 페이징 구현>>과 <>에 대해 글을 쓴 적이 있는데, 나중에 어떤 분들이 이것을 GridView에 적용하는 방법을 물어보시더라고요. , 주로 방법은 현재 페이지의 페이지 번호 PageIndex를 저장하는 데 문제가 있지만 모든 것이 해결하기 쉽습니다. 페이징 프로세스에서는 PageSize가 확실하므로 속성을 사용하여 이를 나타낼 수 있습니다. PageIndex를 저장하면 데이터가 그리 크지 않습니다. 기본적으로 리소스가 많지 않습니다. 옛말처럼 아무리 말을 많이 해도 직관적인 예제는 없습니다
. 현재 페이지 번호인 PageIndex를 저장하려면 이전 페이지를 클릭하면 해당 값이 감소하게 됩니다. 먼저, 0으로 알려져 있습니다. 여기서 주목해야 할 점은 첫 번째 페이지의 페이지 번호가 0이라는 것입니다. 대신 1. 코드를 보고 분석해보겠습니다!
1
2 <열>
3
4 5 DataTextField="제목" HeaderText="뉴스 제목" ItemStyle-Width="70%"/>
6
7 8 ShowEditButton="참"/>
9 열>
10
11
12
13
홈 14
이전 페이지 15
다음 페이지 16
마지막 페이지 17
CS 파일의 코드:
1개의 보호된 무효 PagerButton_Click(객체 전송자, EventArgs e)
2 {
3 int pageIndx = Convert.ToInt32(CurrentPage.Value);
4 int totals = NewsManager.GetNews(0, pageSize).TotalRecords;
5 int 페이지 = (총계 % pageSize) == 0 ? (총계 / pageSize) : (총계 / pageSize + 1);
6 문자열 인수 = ((LinkButton)sender).CommandArgument.ToString().ToLower();
7 스위치(arg)
8 {
9 사례 "이전":
10 if (pageIndx > 0)
11 {
12 페이지Indx -= 1;
13}
14 휴식;
15개 사례 "다음":
16 if (pageIndx < 페이지 - 1)
17 {
18 페이지Indx += 1;
19}
20 휴식;
21개 사례 "마지막":
22 pageIndx = 페이지 - 1;
23 휴식;
24기본값:
25 페이지Indx = 0;
26 휴식;
27}
28 현재페이지.값 = pageIndx.ToString();
29 NewsGrid.DataSource = NewsManager.GetNews(pageIndx, pageSize).Entities;
30 뉴스그리드.데이터바인드();
31}
매우 간단하지 않나요? 코드를 읽고 나면 이해하게 될 것입니다. 여기서는 버튼을 사용하여 매개변수를 전달하는 방법에 대해 자세히 설명하지 않겠습니다. < > 여기 기사에서 찾을 수 있습니다
http://www.cnblogs.com/xdotnet/archive/2006/09/29/gridview_paging_myself.html