62,040
社区成员
发帖
与我相关
我的任务
分享
public DataSet GetListByPage(string strWhere, string orderby, int startIndex, int endIndex)
{
StringBuilder strSql = new StringBuilder();
strSql.Append("SELECT * FROM ( ");
strSql.Append(" SELECT ROW_NUMBER() OVER (");
if (!string.IsNullOrEmpty(orderby.Trim()))
{
strSql.Append("order by T." + orderby);
}
else
{
strSql.Append("order by T.f_tableid desc");
}
strSql.Append(")AS Row, T.* from t_table T ");
if (!string.IsNullOrEmpty(strWhere.Trim()))
{
strSql.Append(" WHERE " + strWhere);
}
strSql.Append(" ) TT");
strSql.AppendFormat(" WHERE TT.Row between {0} and {1}", startIndex, endIndex);
return DbHelperOleDb.Query(strSql.ToString());
}
试试吧
//1 在Gridview编辑模版,在PagerTemplate中加入如下的table内容(注意复制的时候别把<PagerTemplate></PagerTemplate>复制进去)
<PagerTemplate>
<table width="100%" style="font-size:12px;">
<tr>
<td style="text-align: right">
第<asp:Label ID="lblPageIndex" runat="server" Text='<%# ((GridView)Container.Parent.Parent).PageIndex + 1 %>'></asp:Label>
页 /共<asp:Label ID="lblPageCount" runat="server" Text='<%# ((GridView)Container.Parent.Parent).PageCount %>'></asp:Label>
页
<asp:LinkButton ID="btnFirst" runat="server" CausesValidation="False"
CommandName="Page" Text="首页" CommandArgument="first" OnClick="btnFirst_Click">
</asp:LinkButton>
<asp:LinkButton ID="btnPrev" runat="server" CausesValidation="False"
CommandName="Page" Text="上一页" CommandArgument="prev" onclick="btnFirst_Click">
</asp:LinkButton>
<asp:LinkButton ID="btnNext" runat="server" CausesValidation="False"
CommandName="Page" Text="下一页" CommandArgument="next" OnClick="btnFirst_Click">
</asp:LinkButton>
<asp:LinkButton ID="btnLast" runat="server" CausesValidation="False"
CommandName="Page" Text="尾页" CommandArgument="last" OnClick="btnFirst_Click">
</asp:LinkButton>
<asp:TextBox ID="txtNewPageIndex" runat="server" Text=''
Width="20px" AutoPostBack="False"
ontextchanged="txtNewPageIndex_TextChanged"></asp:TextBox>
<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server"
ControlToValidate="txtNewPageIndex" Display="Dynamic" ErrorMessage="请输入正整数!"
ValidationExpression="^([0-9]*)$"></asp:RegularExpressionValidator>
<asp:LinkButton ID="btnGo" runat="server" CausesValidation="False" CommandArgument="go"
CommandName="Page" Text="GO" OnClick="btnFirst_Click"></asp:LinkButton>
</td>
</tr>
</table>
</PagerTemplate>
//2在上一页按钮中加入如下代码(注意GVInfo就是Gridview控件)
protected void btnFirst_Click(object sender, EventArgs e)
{
switch (((LinkButton)sender).CommandArgument.ToString())
{
case "first":
GVInfo.PageIndex = 0;
break;
case "last":
GVInfo.PageIndex = GVInfo.PageCount - 1;
break;
case "prev":
if (GVInfo.PageIndex != 0)
{
GVInfo.PageIndex = GVInfo.PageIndex - 1;
}
else
{
Response.Write("<script>alert('已经是第1页了!');location='AllInfo.aspx'</script>");
}
break;
case "next":
if (GVInfo.PageIndex != GVInfo.PageCount-1)
{
GVInfo.PageIndex = GVInfo.PageIndex + 1;
}
else
{
Response.Write("<script>alert('已经是最后1页了!');location='AllInfo.aspx'</script>");
}
break;
case "go":
{
GridViewRow gvr = GVInfo.BottomPagerRow;
TextBox temp = (TextBox)gvr.FindControl("txtNewPageIndex");
int res = Convert.ToInt32(temp.Text.ToString());
GVInfo.PageIndex = res - 1;
}
break;
}
AllInfoBind();//AllInfoBind你的数据绑定方法,根据需要重新绑定数据源至GridView控件。
}