internal DataTable GetStatuteListByTab(string category, int count, int tabId)
{
string sql;
if (category == "全部")
sql = "SELECT TOP " + count.ToString() + " * FROM PublicInfo.Statute WHERE StatuteId NOT IN " +
"(SELECT TOP " + ((int)(count * (tabId - 1))).ToString() + " StatuteId FROM PublicInfo.Statute " +
"ORDER BY Count DESC) ORDER BY Count DESC";
else
sql = "SELECT TOP " + count.ToString() + " * FROM PublicInfo.Statute " +
"WHERE Category='" + category + "' AND StatuteId NOT IN " +
"(SELECT TOP " + ((int)(count * (tabId - 1))).ToString() + " StatuteId FROM PublicInfo.Statute " +
"WHERE Category='" + category + "' ORDER BY Count DESC) ORDER BY Count DESC";
try
{
return GetDataTable(sql);
}
catch (Exception err)
{
throw new Exception(err.Message);
}
}
模板分页:注意要写 CommandName="Page" CommandArgument="First"
<PagerTemplate>
<asp:Button ID="Button1" CommandName="Page" CommandArgument="First" runat="server" Text="首页" />
<asp:Button ID="Button2" CommandName="Page" CommandArgument="Prev" runat="server" Text="上一页" />
<asp:Button ID="Button3" CommandName="Page" CommandArgument="Next" runat="server" Text="下一页" />
<asp:Button ID="Button4" CommandName="Page" CommandArgument="Last" runat="server" Text="尾页" />
<asp:LinkButton ID="LinkButton1" CommandName="Page" CommandArgument="First" runat="server">首页</asp:LinkButton>
</PagerTemplate>
存储过程分页:
一个简单的用存储过程分页
create proc proPage(@pageid int ,@pagesize int)
as
begin
if (@pageid=1)
begin
set rowcount @pagesize
select * from test order by id
end
else
begin
declare @no1 int
declare @num int
select @num=@pagesize*(@pageid-1)
set rowcount @num
select @no1=id from test order by id
declare @no2 int
select @num=@pagesize*@pageid
set rowcount @num
select @no2=id from test order by id
set rowcount 0
select * from test where id>@no1 and id<=@no2
end
end