非存储过程分页- 前台分页样式和控件
一. 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>
没错,啥都没有。。
转载于:https://www.cnblogs.com/niejun/p/3188155.html
非存储过程分页- 前台分页样式和控件相关推荐
- windows常见窗口样式和控件风格以及类样式
Windows常见窗口样式和控件风格 王佰营 徐丽红 一.窗口样式 WS_POPUP 弹出式窗口(不能与WS_CHILDWINDOW样式同时使用) WS_CHILDWINDOW 子窗口(不能与WS_P ...
- Windows常见窗口样式和控件风格
Windows常见窗口样式和控件风格 王佰营 徐丽红 一.窗口样式 WS_POPUP 弹出式窗口(不能与WS_CHILDWINDOW样式同时使用) WS_CHILDWINDOW 子窗口(不能与WS_P ...
- Windows Phone开发(16):样式和控件模板
在前面资源一文中也提过样式,样式就如同我们做HTML页排版时常用到的CSS样式表,它是对于特定娄型的可视化元素,应该可以直接说是针对控件的一种可重用的属性设置列表,这样对于需要设置相同属性值的同类型的 ...
- Windows Phone开发(16):样式和控件模板 转:http://blog.csdn.net/tcjiaan/article/details/7367260...
在前面资源一文中也提过样式,样式就如同我们做HTML页排版时常用到的CSS样式表,它是对于特定娄型的可视化元素,应该可以直接说是针对控件的一种可重用的属性设置列表,这样对于需要设置相同属性值的同类型的 ...
- wpf教程-metro扁平化样式UI控件库推荐:MahApps.Metro
wpf虽然做出来的ui效果已经很好了,但是还是会有很多客户要求在完善.不如在win8出来后,很多用户就喜欢metro的样式. 今天给大家推荐metro扁平化样式UI控件库:MahApps.Metro ...
- Flutter 一个电话样式小控件
在码农的世界里,优美的应用体验,来源于程序员对细节的处理以及自我要求的境界,年轻人也是忙忙碌碌的码农中一员,每天.每周,都会留下一些脚印,就是这些创作的内容,有一种执着,就是不知为什么,如果你迷茫,不 ...
- 一步一步学Silverlight 2系列(8):使用样式封装控件观感
概述 Silverlight 2 Beta 1版本发布了,无论从Runtime还是Tools都给我们带来了很多的惊喜,如支持框架语言Visual Basic, Visual C#, IronRuby, ...
- altas(ajax)控件(二十):让BulletedList拥有客户端索引、分页和排序的控件
PagingBulletedList agingBulletedList扩展器控件可以让某个ASP.NET BulletedList拥有客户端索引.分页和排序的功能. 示例运行效果: 图(1) 图(2 ...
- Silverlight 属性样式、控件模板、视觉状态
在使用Silverlight的样式的时候感觉非常好,以前在HTML上很难实现的效果在这里都变的如此简单. 属性样式 控件的属性样式好比CSS的Class功能定义,是用来统一定义和维护控件属性的方式,控 ...
最新文章
- hdu 4614 线段树
- 大数据对于我们的生活有哪些便利(图)
- 聊一聊社交网络的逻辑、产品和未来
- python海龟图画龙珠_火影,海贼王,七龙珠,还在为漫画书发愁!我用Python一键生成电子漫画书...
- Solving 'stdin: is not a tty ' error
- 地图标记点击成超链接_纯干货!株洲100多家美食地图!国庆收藏!
- vba 判断目标单元格内容改变的代码_【VBA小代码】批量改变单元格部分字符格式...
- 关于Executors.newFixedThreadPool何时创建新线程
- Android进阶之路 - 病毒检测工具
- 使用开放的showapi接口小技巧
- 开源协议比较:BSD、Apache、GLP、LGLP、MIT
- 基于SSM小说阅读网站设计带爬虫功能
- 计算机公式max值怎么设置,Excel 计算最大值:MAX函数详解
- 苹果8硬件保修服务器,iPhone手机刷机报错,很多是硬件问题
- 开发流程中的问题总结和建议
- 怎么运营新媒体短视频
- TP50、TP90、TP99、TP999等TP系列或者95line、99.9line 等line系列的含义
- Android多线程的四种方式:Handler、AsyncTask、ThreadPoolExector、IntentService
- python模拟火车订票系统代码_Python3.6实现12306火车票自动抢票,附源码
- 重磅!人工智能与算法学习年终总结报告(珍藏版)
热门文章
- c语言和python哪个自学好-有c语言基础 自学python 应该选什么书来看?
- python编程经典案例-一个非常适合Python新手的编程案例——投票小程序
- python就业方向有哪些-目前Python这么火,Python有哪些就业方向?
- 学python可以干嘛-学完Python可以做什么?
- 学python需要英语基础吗-学python需要英语基础吗
- 学python可以做什么职业好-业余学Python能做什么?对职业发展有什么帮助?
- python数据处理实例-Python数据预处理实例详解
- java和python的web自动化有什么区别-Java 和 Python 有哪些区别?
- python与php8-详解Python中Unicode和utf-8
- python游戏编程书籍-《Python游戏编程快速上手》一1.3 如何使用本书