简单说下 Winform 的分页快速开发框架必须要实现的几个功能之一

分页非为前端分页  和 后端分页,前端分页只有适用于B/S,B/S的呈现速度远远不如C/S,而C/S则没有这个问题,所以分页必然是后端分页

这里先要说明WinForm分页和Web分页都会存在一个问题:查两次(一次取得页面总数,一次取得当前页数据)

所以分页是需要数据特别大的时候才具有优化的意义,比如查询100条数据是1ms 查询1000条数据是1.1s如果使用分页,那么查询的耗时基本上就是2ms(算上嵌套查询的话是3ms),so自行掂量

控件网上有很多不多说了

说下sql(EF的略过)

-------这就是多出的一次查询,为了取得总的页数DECLARE @Total INT
SELECT @Total = COUNT(0)
FROM Sys_Button A
WHERE 1 = 1
AND A.IsDelete = 0
AND ISNULL(A.Button_Name,‘‘) LIKE ‘%‘+ ISNULL(@cButton_Name,ISNULL(A.Button_Name,‘‘)) +‘%‘
AND ISNULL(A.Button_Nick,‘‘) LIKE ‘%‘+ ISNULL(@cButton_Nick,ISNULL(A.Button_Nick,‘‘)) +‘%‘
AND ISNULL(A.Button_Hint,‘‘) LIKE ‘%‘+ ISNULL(@cButton_Hint,ISNULL(A.Button_Hint,‘‘)) +‘%‘
AND ISNULL(A.Button_Sub,‘‘) LIKE ‘%‘+ ISNULL(@cButton_Sub,ISNULL(A.Button_Sub,‘‘)) +‘%‘

SELECT B.* FROM(

SELECT A.Button_Id ,A.Button_Name , ----这里就是重点实现分页的代码了
@Total PageRecord ,ROW_NUMBER() OVER (ORDER BY Page_Nick,A.Button_Sort ) Record_Id, (@Total / @PageSize) + 1 PageCount
FROM Sys_Button A
LEFT JOIN Sys_Page B ON A.Button_Page = B.Page_Id
WHERE 1 = 1
AND A.IsDelete = 0
AND ISNULL(A.Button_Name,‘‘) LIKE ‘%‘+ ISNULL(@cButton_Name,ISNULL(A.Button_Name,‘‘)) +‘%‘
AND ISNULL(A.Button_Nick,‘‘) LIKE ‘%‘+ ISNULL(@cButton_Nick,ISNULL(A.Button_Nick,‘‘)) +‘%‘
AND ISNULL(A.Button_Hint,‘‘) LIKE ‘%‘+ ISNULL(@cButton_Hint,ISNULL(A.Button_Hint,‘‘)) +‘%‘
AND ISNULL(A.Button_Sub,‘‘) LIKE ‘%‘+ ISNULL(@cButton_Sub,ISNULL(A.Button_Sub,‘‘)) +‘%‘

) B
WHERE B.Record_Id > (@PageIndex - 1) * @PageSize
AND B.Record_Id <= (@PageIndex) * @PageSize
ORDER BY Page_Nick, Button_Sort
时间: 2024-10-30 07:54:41

简单说下 Winform 的分页快速开发框架必须要实现的几个功能之一的相关文章

Android常用的快速开发框架

一.Afinal框架 项目地址:https://github.com/yangfuhai/afinal 主要有四大模块: (1) 数据库模块:Android中的orm框架,使用了线程池对sqlite进行操作. (2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定.无需findViewById和setClickListener等. (3) 网络模块:通过httpclient进行封装http数据请求,支持ajax方式加载,支持下载.上传文件功能. (4) 图片缓存

UltimateAndroid快速开发框架教程

UltimateAndroid是一套集成了许多现有优秀的Android开源类库并将之组合成一个整体的Android快速开发框架. 框架目前主要包含的功能有View Injection,ORM,异步网络请求和图片加载,自动化脚本测试,磁盘LRU等功能.同时提供了类似于TripleDes.Webview快速设置.Md5处理.String处理,Https处理等常用工具类,还有多种UI控件效果.并且这些功能正在逐步增加中. 本套教程主要是介绍UltimateAndroid框架的使用,同时会采用一个项目作

力软信息化系统快速开发框架 web端+winform端

力软信息化系统快速开发框架是一套集权限管理+快速开发+动态接口+通用组件+动态UI于一体的全新.net信息化快速开发框架.力软信息化系统快速开发框架的使用,大大地缩短了开发周期,提高了软件质量,同时也降低企业对软件研发人员编码水平要求.使得软件企业减少研发的时间和成本以及提升用户体验,从而能在竞争激烈的软件行业里脱颖而出,打造出优秀的软件产品,赢得客户的信赖.同样软件工程师有一套这样的开发神器在手,开发软件效率卓越,界面炫酷,定能赢得上司的赏识,升职加薪不在话下,迎娶白富美登上人生的巅峰也指日可

MyERP WinForm 快速开发框架——登录窗口

MyERP快速开发框架提供登录验证窗口 登录验证窗口同时集成了 参数配置.帐号注册.密码修改.多国语言4个功能 双击用户头像图标: 服务器参数配置: 修改密码: 帐号注册: 多国语言: 来自为知笔记(Wiz)

9款Android常用的快速开发框架

1.Afinal框架 项目地址:https://github.com/yangfuhai/afinal 项目地址:http://www.oschina.net/p/afinal 主要有四大模块: (1) 数据库模块:android中的orm框架,使用了线程池对sqlite进行操作. (2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定.无需findViewById和setClickListener等. (3) 网络模块:通过httpclient进行封装http

Learun.framework v7━ net快速开发框架

Learun.framework v7━ net快速开发框架 LeaRun.Framework v7 ,基于.NET的快速信息化系统开发.整合框架,为企业或LeaRun.Framework v7,基于.NET的快速信息化系统开发.整合框架,为企业或个人在.NET环境下快速开发系统提供了强大的支持,开发人员不需要开发系统的基础功能和公共模块,框架自身提供了强大的函数库和开发包,开发人员只须集中精力专注于业务部分的开发,因此大大提高开发效率和节约开发成本. 框架采用目前最主流的C#语言开发完成,支持

.NET Core前后端分离快速开发框架(Core.3.0+AntdVue)

.NET Core前后端分离快速开发框架(Core.3.0+AntdVue) 目录 引言 简介 环境搭建 开发环境要求 基础数据库构建 数据库设计规范 运行 使用教程 全局配置 快速开发 管理员登录 系统用户管理 系统角色管理 权限管理 接口秘钥管理 系统日志 单库事务 跨库事务 读写分离分库分表 常见疑问 如何进行联表查询 如何切换数据库类型 如何使用多个数据库 引言 时间真快,转眼今年又要过去了.回想今年,依次开源发布了Colder.Fx.Net.AdminLTE(254Star).Cold

看大师讲解Android快速开发框架EasyAndroid

前几天做了小应用,感觉小有成就,名字叫"长见识了",是一款趣味答题类的游戏,题目各种火爆各种经典,下载地址,看似一个简单的答题小游戏却是五脏俱全,从开发流程上都进行了严格的规范,大家有空可以下载玩玩~ 在这个应用中,用到了我以前集成的一个快速开发框架-EasyAndroid,这个框架我以前在做项目的时候总结,整理出来的,对于快速开发Android应用非常实用. 其实,Android应用的开发并不难,我们拿到一款Android应用后,百分之九十以上无外乎有这么几个功能: 1,IOC Mo

CRL快速开发框架系列教程十(导出对象结构)

本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框架系列教程四(删除数据) CRL快速开发框架系列教程五(使用缓存) CRL快速开发框架系列教程六(分布式缓存解决方案) CRL快速开发框架系列教程七(使用事务) CRL快速开发框架系列教程八(使用CRL.Package) CRL快速开发框架系列教程九(导入/导出数据) CRL快速开发框架系列教程十(