非存储过程分页- 前台分页样式和控件

一.   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>

没错,啥都没有。。

posted on 2013-07-13 16:31 dr_twilight 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/niejun/p/3188155.html

非存储过程分页- 前台分页样式和控件相关推荐

  1. windows常见窗口样式和控件风格以及类样式

    Windows常见窗口样式和控件风格 王佰营 徐丽红 一.窗口样式 WS_POPUP 弹出式窗口(不能与WS_CHILDWINDOW样式同时使用) WS_CHILDWINDOW 子窗口(不能与WS_P ...

  2. Windows常见窗口样式和控件风格

    Windows常见窗口样式和控件风格 王佰营 徐丽红 一.窗口样式 WS_POPUP 弹出式窗口(不能与WS_CHILDWINDOW样式同时使用) WS_CHILDWINDOW 子窗口(不能与WS_P ...

  3. Windows Phone开发(16):样式和控件模板

    在前面资源一文中也提过样式,样式就如同我们做HTML页排版时常用到的CSS样式表,它是对于特定娄型的可视化元素,应该可以直接说是针对控件的一种可重用的属性设置列表,这样对于需要设置相同属性值的同类型的 ...

  4. Windows Phone开发(16):样式和控件模板 转:http://blog.csdn.net/tcjiaan/article/details/7367260...

    在前面资源一文中也提过样式,样式就如同我们做HTML页排版时常用到的CSS样式表,它是对于特定娄型的可视化元素,应该可以直接说是针对控件的一种可重用的属性设置列表,这样对于需要设置相同属性值的同类型的 ...

  5. wpf教程-metro扁平化样式UI控件库推荐:MahApps.Metro

    wpf虽然做出来的ui效果已经很好了,但是还是会有很多客户要求在完善.不如在win8出来后,很多用户就喜欢metro的样式. 今天给大家推荐metro扁平化样式UI控件库:MahApps.Metro ...

  6. Flutter 一个电话样式小控件

    在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天.每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不 ...

  7. 一步一步学Silverlight 2系列(8):使用样式封装控件观感

    概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...

  8. altas(ajax)控件(二十):让BulletedList拥有客户端索引、分页和排序的控件

    PagingBulletedList agingBulletedList扩展器控件可以让某个ASP.NET BulletedList拥有客户端索引.分页和排序的功能. 示例运行效果: 图(1) 图(2 ...

  9. Silverlight 属性样式、控件模板、视觉状态

    在使用Silverlight的样式的时候感觉非常好,以前在HTML上很难实现的效果在这里都变的如此简单. 属性样式 控件的属性样式好比CSS的Class功能定义,是用来统一定义和维护控件属性的方式,控 ...

最新文章

  1. hdu 4614 线段树
  2. 大数据对于我们的生活有哪些便利(图)
  3. 聊一聊社交网络的逻辑、产品和未来
  4. python海龟图画龙珠_火影,海贼王,七龙珠,还在为漫画书发愁!我用Python一键生成电子漫画书...
  5. Solving 'stdin: is not a tty ' error
  6. 地图标记点击成超链接_纯干货!株洲100多家美食地图!国庆收藏!
  7. vba 判断目标单元格内容改变的代码_【VBA小代码】批量改变单元格部分字符格式...
  8. 关于Executors.newFixedThreadPool何时创建新线程
  9. Android进阶之路 - 病毒检测工具
  10. 使用开放的showapi接口小技巧
  11. 开源协议比较:BSD、Apache、GLP、LGLP、MIT
  12. 基于SSM小说阅读网站设计带爬虫功能
  13. 计算机公式max值怎么设置,Excel 计算最大值:MAX函数详解
  14. 苹果8硬件保修服务器,iPhone手机刷机报错,很多是硬件问题
  15. 开发流程中的问题总结和建议
  16. 怎么运营新媒体短视频
  17. TP50、TP90、TP99、TP999等TP系列或者95line、99.9line 等line系列的含义
  18. Android多线程的四种方式:Handler、AsyncTask、ThreadPoolExector、IntentService
  19. python模拟火车订票系统代码_Python3.6实现12306火车票自动抢票,附源码
  20. 重磅!人工智能与算法学习年终总结报告(珍藏版)

热门文章

  1. c语言和python哪个自学好-有c语言基础 自学python 应该选什么书来看?
  2. python编程经典案例-一个非常适合Python新手的编程案例——投票小程序
  3. python就业方向有哪些-目前Python这么火,Python有哪些就业方向?
  4. 学python可以干嘛-学完Python可以做什么?
  5. 学python需要英语基础吗-学python需要英语基础吗
  6. 学python可以做什么职业好-业余学Python能做什么?对职业发展有什么帮助?
  7. python数据处理实例-Python数据预处理实例详解
  8. java和python的web自动化有什么区别-Java 和 Python 有哪些区别?
  9. python与php8-详解Python中Unicode和utf-8
  10. python游戏编程书籍-《Python游戏编程快速上手》一1.3 如何使用本书