一. DAL
/// ///分页sql /// public DataTable GetUserAndError(int pageSize, int pageIndex) { StringBuilder strSql = new StringBuilder(); strSql.Append("SELECT * FROM ( SELECT ROW_NUMBER() OVER ( ORDER BY t.CONTENT , t.Username ) AS id , t.* FROM "); strSql.Append("(SELECT CONTENT , Username , COUNT(1) AS Num FROM "); strSql.Append("Ticket_Log4net_Database.dbo.tbl_Interface_HandleLog WITH ( NOLOCK ) "); strSql.Append("WHERE LOGTIME > DATEADD(DAY, -10, GETDATE()) AND LEN(content) = 6 AND ISNUMERIC(content) = 1 "); strSql.Append("GROUP BY CONTENT , Username ) t ) t1 "); strSql.Append("WHERE t1.id BETWEEN " + ((pageIndex - 1) * pageSize + 1).ToString() + " AND " + (pageIndex * pageSize).ToString() + ""); DataTable dt = base.ExecuteDataTable(DatabaseEnum.Log4Net, CommandType.Text, strSql.ToString()); return dt;
二.cs
public void CDataBind(int pageIndex) { int pageSize = 5;//页大小 int numCount = 0;//总记录数 DataTable dt = null; try { dt = ControlInterfaceLogic.GetInterface().GetUserAndError(pageSize, pageIndex); DataView dv = new DataView(dt); DataRow[] drRowCount = dt.Select("id is not null"); if (drRowCount.Length > 0) { //总记录数 numCount = ControlInterfaceLogic.GetInterface().GetSumRow(); if (numCount > 0) { labCount.Text = numCount.ToString(); //当前页数 labPageIndex.Text = pageIndex.ToString(); if (numCount % pageSize == 0) { labPageCount.Text = (numCount / pageSize).ToString(); } else { labPageCount.Text = (numCount / pageSize + 1).ToString(); } divPage.Visible = true; //数据库绑定 rptCErrorList.DataSource = dv; rptCErrorList.DataBind(); rptFErrorList.DataSource = dv; rptFErrorList.DataBind(); SetPageControl(pageIndex); } else { divPage.Visible = false; rptCErrorList.DataSource = null; rptCErrorList.DataBind(); rptFErrorList.DataSource = null; rptFErrorList.DataBind(); } } } catch (Exception) { throw; } }
设置分页控件可用
void SetPageControl(int pageIndex) { if (pageIndex == 1 && pageIndex == int.Parse(labPageCount.Text)) { lkFristPage.Enabled = lkBeforePage.Enabled = false; lkNextPage.Enabled = lkLastPage.Enabled = false; lkGo.Enabled = false; } else if (pageIndex == 1) { lkFristPage.Enabled = lkBeforePage.Enabled = false; lkNextPage.Enabled = lkLastPage.Enabled = true; } else if (pageIndex == int.Parse(labPageCount.Text)) { lkFristPage.Enabled = lkBeforePage.Enabled = true; lkNextPage.Enabled = lkLastPage.Enabled = false; } else { lkFristPage.Enabled = lkBeforePage.Enabled = true; lkNextPage.Enabled = lkLastPage.Enabled = true; } }
分页
#region 分页 //首页 /// <summary> /// 首页 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lkFristPage_Click(object sender, EventArgs e) { CDataBind(1); } //上一页 /// <summary> /// 上一页 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lkBeforePage_Click(object sender, EventArgs e) { int pageIndex = int.Parse(labPageIndex.Text); pageIndex--; if (pageIndex > 0) { CDataBind(pageIndex); } } //下一页 /// <summary> /// 下一页 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lkNextPage_Click(object sender, EventArgs e) { int pageIndex = int.Parse(labPageIndex.Text); pageIndex++; if (pageIndex <= int.Parse(labPageCount.Text)) { CDataBind(pageIndex); } } //尾页 /// <summary> /// 尾页 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lkLastPage_Click(object sender, EventArgs e) { CDataBind(int.Parse(labPageCount.Text)); } //页面跳转 /// <summary> /// 页面跳转 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void lkGo_Click(object sender, EventArgs e) { int pageIndex = int.Parse(txtPage.Value.Trim()); CDataBind(pageIndex); } #endregion
前台
<script type="text/javascript"> function checkForm() { var re = /^\d+(?=\{1,9}\d+$|$)/ var pageIndex = document.getElementById("txtPage").value; if (pageIndex == "") { alert("请输入页码!"); return false; } if (!re.test(pageIndex)) { alert("页码须为整数!"); document.getElementById("txtPage").value = ''; return false; } if (pageIndex > Number(document.getElementById("labPageCount").textContent)) { alert("请输入小于等于总页码的页数!"); document.getElementById("txtPage").value = ''; return false; } } </script>
页面
<div style="width: 81%; height: 100px; margin: 10px auto;" id="divPage" runat="server"> <div style="width: 30%; float: left;"> 记录总数:<asp:Label runat="server" ID="labCount" Text="100"></asp:Label> 条 页次<asp:Label runat="server" ID="labPageIndex" Text="1"></asp:Label>/<asp:Label runat="server" ID="labPageCount" Text="47"></asp:Label> </div> <div style="width: 60%; float: right; text-align: right;"> <asp:LinkButton ID="lkFristPage" runat="server" OnClick="lkFristPage_Click">首页</asp:LinkButton> <asp:LinkButton ID="lkBeforePage" runat="server" OnClick="lkBeforePage_Click">上一页</asp:LinkButton> <asp:LinkButton ID="lkNextPage" runat="server" OnClick="lkNextPage_Click">下一页</asp:LinkButton> <asp:LinkButton ID="lkLastPage" runat="server" OnClick="lkLastPage_Click">尾页</asp:LinkButton> <input id="txtPage" type="text" style="width: 30px;" runat="server" /> <asp:LinkButton ID="lkGo" runat="server" OnClick="lkGo_Click" OnClientClick="return checkForm()">GO</asp:LinkButton> </div> </div>
没错,啥都没有。。