winform中的DataGridView如何实现分页(C#)
使用四个button控件,分别实现首页、上一页、下一页、最后一页查询功能,并且每页只显示12条数据。...
使用四个button控件,分别实现首页、上一页、下一页、最后一页查询功能,并且每页只显示12条数据。
展开
5个回答
展开全部
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.
这个很简单,不过你码宽数据量过万 就还是考虑一下吧,这种语句效率不算很好。
你只需要点击上一页 下一页 最后一页、首页 这些按钮事件里面 控制一下参数即可。‘
给你写个简单的分页语句:
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.
这个很简单,不过你码宽数据量过万 就还是考虑一下吧,这种语句效率不算很好。
展开全部
这个是我在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();//数据源绑定方法
}
前台代码,写在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();//数据源绑定方法
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
介意你不要用四个按钮的形式做分页(因为我以前也是这么做的,结果发现不理想),你可以到网上下载一个。net的分页控件。配合塌洞该控件的分页代码,网上也是有很多的侍和,实在差不多代码,在问我。我去找找团谈枯以前做的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
很崩溃。你在散吵扮ASP中做分页也许是考虑数据量大一次冲灶显示不方便,但是在winform中主要做没意义,通常来讲数据量在10W之内的时候显示不影响的。而且VS带的数据显示控件中也没有分页的功能。如果一定要分页,也只是把数据源进行分段,然后根据按钮的要求进行数据绑定。winform数据分页非碰带常不推荐。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你可以在sql语句里实现分页呀,在自己添加或制作翻页控件
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询