失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > GridView控件自定义分页详解

GridView控件自定义分页详解

时间:2022-09-15 21:38:16

相关推荐

GridView控件自定义分页详解

生活已是百般艰难,为何不努力一点。下面就给大家分享GridView控件自定义分页详解,希望可以让热爱学习的朋友们体会到设计的小小的乐趣。

前些天我写了关于 在存储过程中实现分页和GridView控件事件详解 ,后来又有一些人问我怎样在GridView中应用这个东东!其实很简单,主要是怎么保存当前页面的页码PageIndex问题,不过把这个解决了什么都好办了.因为在分页过程中:PageSize是一定的,我们可以用一个属性来表示.保存PageIndex好多中方法,而且数据不是很庞大,基本不会好太多的资源.还是一句老话,话再多都没有例子直观.

在这里我们将用一个隐藏字段来保存这个PageIndex,即当前页码.当点击上一页时,将它的值减一,知道为0,要注意的一点这里的第一页页码是0而不是1.下面看看代码,然后我们再分析分析!

1 runat="server" AutoGenerateColumns="False" AllowPaging="false" Width="100%"

2 Columns

3asp:BoundField DataField="NewsId" HeaderText="新闻ID"/

4asp:HyperLinkField DataNavigateUrlFields="NewsId" DataNavigateUrlFormatString="~/?{}"

5DataTextField="Title" HeaderText="新闻标题" ItemStyle-Width="70%"/

6asp:BoundField DataField="PostTime" HeaderText="发布时间"/

7asp:CommandField HeaderText="新闻管理" ShowCancelButton="False" ShowDeleteButton="True"

8ShowEditButton="True"/

9 /Columns

10 /

11 div

12 runat="server" Value="0"/

13 runat="server" CommandArgument="first" OnClick="PagerButton_Click"首 页/

14 runat="server" CommandArgument="prev" OnClick="PagerButton_Click"上一页/

15 runat="server" CommandArgument="next" OnClick="PagerButton_Click"下一页/

16 runat="server" CommandArgument="last" OnClick="PagerButton_Click"尾 页/

17 /div CS文件中的代码:

1 protected void PagerButton_Click(object sender, EventArgs e)

2 {

3 int pageIndx = Convert.ToInt32(CurrentPage.Value);

4 int totals = NewsManager.GetNews(0, pageSize).TotalRecords;

5 int pages = (totals % pageSize) == 0 ? (totals / pageSize) : (totals / pageSize + 1);

6 string arg = ((LinkButton)sender).CommandArgument.ToString().ToLower();

7 switch (arg)

8 {

9case "prev":

10if (pageIndx 0)

11{

12 pageIndx -= 1;

13}

14break;

15case "next":

16if (pageIndx pages - 1)

17{

18 pageIndx += 1;

19}

20break;

21case "last":

22pageIndx = pages - 1;

23break;

24default:

25pageIndx = 0;

26break;

27 }

28 CurrentPage.Value = pageIndx.ToString();

29 NewsGrid.DataSource = NewsManager.GetNews(pageIndx , pageSize).Entities;

30 NewsGrid.DataBind();

31 }

是不是很简单啊,看了代码就都懂了,关于用按钮传参数在这里就不多说了,还有一个就是Entities属性,在应用实体类EntitySet实现类似的范型功能 这篇文章中可以找到

/xdotnet/archive//09/29/gridview_paging_myself.html

如果觉得《GridView控件自定义分页详解》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。