winform中的DataGridView如何实现分页(C#)

使用四个button控件,分别实现首页、上一页、下一页、最后一页查询功能,并且每页只显示12条数据。... 使用四个button控件,分别实现首页、上一页、下一页、最后一页查询功能,并且每页只显示12条数据。 展开
 我来答
haoluogaga
2011-12-21 · TA获得超过2378个赞
知道小有建树答主
回答量:1265
采纳率:0%
帮助的人:1021万
展开全部
winfrom是应用程序 根本就不存在分页这个概念。
你只需要点击上一页 下一页 最后一页、首页 这些按钮事件里面 控制一下参数即可。‘
给你写个简单的分页语句:
select top 12 * from books where id not in(select top 12 id from books order by id) order by id
前面这个12意思是 查询前12条,后面这个12表示 不等于前12条。
合起来的意思 就是不等于前12条的前12条,也就是说 这个是第二页。
如果你想翻到第一页 后面12改为0即可。如果翻到第三页 后面12改为24.

这个很简单,不过你数据量过万 就还是考虑一下吧,这种语句效率不算很好。
kyo71577
2011-12-21 · TA获得超过139个赞
知道小有建树答主
回答量:356
采纳率:100%
帮助的人:161万
展开全部
这个是我在asp中的,不过你改改就该能用,希望对你有帮助。
前台代码,写在gridview的代码里,不过我没用按钮,用的是标签:
<PagerTemplate>
<asp:Label ID="lblPage" runat="server" Text='<%# "第" + (((GridView)Container.NamingContainer).PageIndex + 1) + "页/共" + (((GridView)Container.NamingContainer).PageCount) + "页" %> '></asp:Label>
<asp:LinkButton ID="lbnFirst" runat="Server" Text="首页" Enabled='<%# ((GridView)Container.NamingContainer).PageIndex != 0 %>'
CommandName="Page" CommandArgument="First"></asp:LinkButton>
<asp:LinkButton ID="lbnPrev" runat="server" Text="上一页" Enabled='<%# ((GridView)Container.NamingContainer).PageIndex != 0 %>'
CommandName="Page" CommandArgument="Prev"></asp:LinkButton>
<asp:LinkButton ID="lbnNext" runat="Server" Text="下一页" Enabled='<%# ((GridView)Container.NamingContainer).PageIndex != (((GridView)Container.NamingContainer).PageCount - 1) %>'
CommandName="Page" CommandArgument="Next"></asp:LinkButton>
<asp:LinkButton ID="lbnLast" runat="Server" Text="尾页" Enabled='<%# ((GridView)Container.NamingContainer).PageIndex != (((GridView)Container.NamingContainer).PageCount - 1) %>'
CommandName="Page" CommandArgument="Last"></asp:LinkButton>
到第<asp:TextBox Width="30" runat="server" ID="inPageNum"></asp:TextBox>页
<asp:Button ID="Button1" Text="GO" CommandName="go" runat="server" />
</PagerTemplate>

后台代码,在gridview的相应事件里写:
protected void Show_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
this.gridviewCus.PageIndex = e.NewPageIndex;
BindGridView();//数据源绑定方法
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
曾芋茗
推荐于2016-02-02
知道答主
回答量:11
采纳率:0%
帮助的人:7.5万
展开全部
介意你不要用四个按钮的形式做分页(因为我以前也是这么做的,结果发现不理想),你可以到网上下载一个。net的分页控件。配合该控件的分页代码,网上也是有很多的,实在差不多代码,在问我。我去找找以前做的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
klkucan
2011-12-21 · TA获得超过666个赞
知道小有建树答主
回答量:831
采纳率:66%
帮助的人:409万
展开全部
很崩溃。你在ASP中做分页也许是考虑数据量大一次显示不方便,但是在winform中主要做没意义,通常来讲数据量在10W之内的时候显示不影响的。而且VS带的数据显示控件中也没有分页的功能。如果一定要分页,也只是把数据源进行分段,然后根据按钮的要求进行数据绑定。winform数据分页非常不推荐。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
在双桥古镇感受晴天的喜羊羊
2011-12-21 · 超过25用户采纳过TA的回答
知道答主
回答量:119
采纳率:0%
帮助的人:67.1万
展开全部
你可以在sql语句里实现分页呀,在自己添加或制作翻页控件
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式