Atitit.列表页面and条件查询的实现最佳实践(2)------翻页 分页 控件的实现java .net php

1. 关于翻页有关的几大控件::搜索框控件,显示表格控件,翻页器,数据源控件.. 1

2. 翻页的显示格式:: 1

2.1. 通常ui--“首页”、“上页”、“下页”、“末页”,还要有Goto到指定页 1

2.2. 百度式::...<上一页567891011121314下一页 2

2.3. 综合的页面 首页”、“上页”、56789 “下页”、“末页”,还要有Goto到指定页 2

2.4.  2

3. 翻页器与数据源控件的交流数据.. 2

4. 分页/翻页的流程详细 2

4.1. :搜索框搜索按钮事件: 2

4.2. 翻页事件: 2

4.3. Jump事件... 2

5. 运行在服务端还是客户端控件?? 3

6. 数据源内部获得翻页数据运行在服务端还是客户端?? 3

7. 翻页控件选型::easyui 3

8. 翻页控件的扩展点and 调用点 3

9. 容器注射DI,IOC绑定搜索控件and翻页控件and数据源and表格控件. 3

10. 数据源计算总记录的方法:::子能sql count()... 3

11. #---code 4

12. 参考 7

1. 关于翻页有关的几大控件::搜索框控件,显示表格控件,翻页器,数据源控件..

2. 翻页的显示格式::

2.1. 通常ui--“首页”、“上页”、“下页”、“末页”,还要有Goto到指定页

“首页”、“上页”、“下页”、“末页”,还要有Goto到指定页等等

当前页/总页数   总条数   指定pagesize选择器

2.2.  百度式::...<上一页567891011121314下一页

2.3. 综合的页面 首页”、“上页”、56789 “下页”、“末页”,还要有Goto到指定页

2.4.

优缺点::

3. 翻页器与数据源控件的交流数据..

翻页器 pre ,next页面事件,,,会传出数据::::   pagesize,page...

数据源会返回数据::    rows(记录总数) ,  datalist..(当前页的数据)

4. 分页/翻页的流程详细

4.1. :搜索框搜索按钮事件:

获得搜索框参数>>传给翻页器>>指定翻页器当前页面为1>>> 翻页器执行查询>>数据源>》》获得显示数据绑定显示在表格控件中...>>按照返回的记录计算翻页器的总页数...>>翻页器设置嘎自的 首页”、“上页”为禁用状态..

或者

搜索框控件获得参数>>直接执行查询pagesize,page=1>>数据源>》》获得显示数据绑定显示在表格控件中...>>按照返回的记录计算翻页器的总页数.>>>指定翻页器当前页面为1>>翻页器设置嘎自的 首页”、“上页”为禁用状态..

4.2. 翻页事件:

翻页器计算(+-或者goto 第一的页or最后的页面) 要使用的页数>>执行从 搜索框控件获得参数>>参数传给数据源控件>>>返回翻页数据..>>绑定显示在表格控件中..>>>按照返回的记录计算翻页器的总页数>>>>翻页器设置嘎自的 首页”、“上页”“下页”、“末页”为禁用状态..

4.3. Jump事件...

5. 运行在服务端还是客户端控件??

从兼容性考虑, 翻页控件还是运行在客户端更好...java .net php都能使用....

6. 数据源内部获得翻页数据运行在服务端还是客户端??

从开发效率想,  少量数据可以在客户端数据源内部获得...

7. 翻页控件选型::easyui

客户端easyui 推荐,,,...Ligerui的根本马独立的翻页控件

服务端:: 倒霉,几乎马知名的分页控件,只好嘎自写兰..

aspnetpager

8. 翻页控件的扩展点and 调用点

扩展点:::一个接口,用来调用外部控件...

var onSelectPage= function(pageNumber, pageSize){

//$('#content').panel('refresh', 'show_content.php?page='+pageNumber);

query();

}

调用点:::外部控件可以调用的翻页控件方法..

resetPageTo1()

9. 容器注射DI,IOC绑定搜索控件and翻页控件and数据源and表格控件.

10. 数据源计算总记录的方法:::子能sql count()...

或者使用server 翻页而不是数据库翻页..

11. #---code

Line 3: var onSelectPage= function(pageNumber, pageSize){

Line 10: //function pageIni(info)

Line 27: function setPageInfo(info)

Line 53: function resetPageTo1()

Line 59:    function setBtnDisabled()

Line 78: function nextPage()

Line 85: function firstPage()

Line 93: function lastPage()

Line 102: function prePage()

Line 114: function  setNextPageInfoNPaging(nextPage)

Line 121: function page_go()

#------------------detail

// JavaScript Document

//todox  ini pageInfoStyle pagesize and bind SelectPageevent===query..

var onSelectPage= function(pageNumber, pageSize){

//$('#content').panel('refresh', 'show_content.php?page='+pageNumber);

query();

}

//=========================================

//function pageIni(info)

//{

{

total:2000,

pageSize:10

}

//var total=info.total;

//var pageSize=info.pageSize;

//$("#totalPages").html(total/pageSize);

//$("#totalRows").html(total);

if(info.pageNumber==null)

if($("#page").val()=="")

$("#page").val(1);

//}

// setPageInfo({"total":data.total,"pageSize":7});

var pageCtrlId="page_page";

function setPageInfo(info)

{

//{pageSize

//    total:2000,

//

//    }

var total=info.total;

var pageSize=$("#pagesize").val();

$("#totalPages").html(Math.ceil(total/pageSize));

//fix page err

try{

var curPage= parseInt(  $("#"+pageCtrlId).val(),10);

var  totalPageShow= parseInt($("#totalPages").text(),10);

if(curPage>totalPageShow)

{

//setNextPageInfoNPaging(1);

}

}catch(e){}

$("#totalRows").html(total);

//if(info.pageNumber==null)

setBtnDisabled()

}

function resetPageTo1()

{

$("#"+pageCtrlId).val(1);

$("#page_page_lab").html(1);

}

function setBtnDisabled()

{

var curPage= parseInt(  $("#"+pageCtrlId).val(),10);

$("#nextLastPageBtnArea").show();

$("#firstPrePageBtnArea").show();

if(curPage==1)

{

$("#firstPageBtn").attr("disabled",true);

$("#prePageBtn").attr("disabled",true);

$("#firstPageBtn,#prePageBtn").addClass('disable');

$("#firstPrePageBtnArea").hide();

}

if(curPage==$("#totalPages").text())

{

$("#nextLastPageBtnArea").hide();

//$("#firstPrePageBtnArea").hide();

}

}

function nextPage()

{

var curPage= parseInt(  $("#"+pageCtrlId).val(),10);

var nextPage=curPage+1;

setNextPageInfoNPaging(nextPage);

setBtnDisabled()

}

function firstPage()

{

var curPage= parseInt(  $("#"+pageCtrlId).val(),10);

var nextPage=1;

setNextPageInfoNPaging(nextPage);

setBtnDisabled()

}

function lastPage()

{

var curPage= parseInt(  $("#"+pageCtrlId).val(),10);

var nextPage=$("#totalPages").text();

setNextPageInfoNPaging(nextPage);

setBtnDisabled()

}

function prePage()

{

var curPage= parseInt(  $("#"+pageCtrlId).val(),10);

var nextPage=curPage-1;

setNextPageInfoNPaging(nextPage);

setBtnDisabled()

}

function setNextPageInfoNPaging(nextPage)

{

$("#"+pageCtrlId).val(nextPage);

$("#page_page_lab").html(nextPage);

var pagesize=$("#pagesize").val();

onSelectPage(nextPage,pagesize);

}

function page_go()

{

var goPage;

try{

goPage= parseInt(  $("#pageItem").val(),10);

}catch(e)

{alert(e);return;

}

//var curPage= parseInt(  $("#"+pageCtrlId).val(),10);

if(goPage=="")

{alert("页码不对");return;

}

if(goPage<=0)

{

alert("页码不对");return;

}

var  total= parseInt($("#totalPages").text(),10);

if(goPage>total)

{alert("页码不对_overpage");return;}

setNextPageInfoNPaging(goPage);

setBtnDisabled();

}

12. 参考

JAVA实现关系数据库的翻页 - Briver Song的专栏 - 博客频道 - CSDN.NET

ASP.NET 自定义控件 翻页功能 - ミ微笑的借口.的日志 - 网易博客

解决Asp.net中翻页问题的自定义用户控件 - RedSoft - 博客园

Atitit.列表页面and条件查询的实现最佳实践(2)------翻页 分页 控件的实现java .net php相关推荐

  1. atitit.人脸识别的应用场景and使用最佳实践 java .net php

    atitit.人脸识别的应用场景and使用最佳实践 java .net php 1. 人脸识别的应用场景 1 2. 框架选型 JNI2OpenCV.dll and JavaCV 1 3. Url ap ...

  2. 如何使用AspNetPager分页控件对动态查询的结果进行分页

    注意: 如果 设置UrlPaging 为True,后台用ViewState是保存不住查询条件的,如果非要用Url分页,可以用Session保存查询条件. 后台代码 : const string vsK ...

  3. mysql 分表 条件查询,面试过关斩将:分库分表-sharding-jdbc分页,排序,条件查询优化...

    之前讲了利用sharding-jdbc 3.1进行分表的情况,也讲了利用一致性hash去做分表的高可用.今天讲下分表后的分页,排序,条件查询优化. 其实本身sharding-jdbc是提供了分页功能的 ...

  4. 继SqlPager之后推出一款可用于前台页面的分页控件--UrlPager

    使用方法其实和SqlPager一样,用的存储过程也是同一个,只是SqlPager更是个用于后台管理和B/S应用系统中,因为他是采用的Postback实现的翻页:而今天推出的Urlpager是使用的通过 ...

  5. python中怎么设置默认值_在Python中设置应该是列表的参数的默认值的最佳实践?...

    我有一个将列表作为参数的python函数.如果我将参数的默认值设置为如下空列表: def func(items=[]): print items 皮林特会告诉我"危险的默认值[]作为参数&q ...

  6. 实战篇-通用的页面列表导出Excel控件

    首先,先上下图片,好理解一下今天要讲内容: 第一张图: 第二张图: 说明: 在很多系统中,或者是一些网站的后台,包括秋色园的后台,通过都会有一些相同的工具栏目,比如上面的"导出"按 ...

  7. asp mysql查询_asp的 条件查询

    ASP.NET查询页面设置form的action属性只弹出一个页面,并且每次将页面设置到最前 原文:ASP.NET查询页面设置form的action属性只弹出一个页面,并且每次将页面设置到最前 背景 ...

  8. linq to sql 中,如何解决多条件查询问题,答案,用表达式树! (下)

    ,我们做了基于linq to sql 的多条件组合查询,但通过监视数据库发现,这样做的成本比较高,每次都要取出全部的数据到内存进行筛选.如何从真正意义上做到延迟加载,即一次只从数据库中取我们需要的用到 ...

  9. ssm框架中利用pagehelper分页,完成模糊查询与select条件查询

    ssm框架中利用pagehelper分页,完成模糊查询与select条件查询 一.问题分析 1.1 往期回顾 pagehelper分页 https://blog.csdn.net/Jia_Peng_T ...

  10. 电商三十一、品牌条件查询

    ①先写后端代码. 一.写服务(service)层的接口(interface)层 原来写了一个分页,不带条件查询 /**      * 查询      * @param pageAndSize      ...

最新文章

  1. NYOJ 回文字符串
  2. go 指针变量和普通变量的转化_7.8 C++指针变量的引用
  3. C#将unix时间戳转换成.net的DateTime类型的代码
  4. 【php】php对mysql的连接操作【mysql】
  5. 懒惰的JSF Primefaces数据表分页–第2部分
  6. SQLCE 3.5 部署打包
  7. 使用SSH更新WordPress
  8. 使用内容脚本将代码插入页面上下文
  9. Windows 2008 R2 导出Excel时提示:未在本地计算机上注册“Microsoft.Jet.OLEDB.4.0”提供程序。
  10. 原生android字体,安卓原生字体
  11. 链表哈夫曼树--编码--解码
  12. 最好的6个大数据处理分析工具
  13. Android 控件数组
  14. shiro权限框架中五张基本数据表
  15. OpenGL: 圆柱面绘制贴图
  16. 天黑请闭眼服务器维护中,天黑请闭眼!
  17. ctf线下AWD攻防赛学习笔记
  18. 服务器端编程心得(二)—— Reactor模式
  19. 毕业就在小公司躺了3年,面试大厂发现,发现不会分布式没人要…
  20. Photoshop教程二:液化色彩原理

热门文章

  1. apache netbeans ide为什么安装不了_Eclipse安装及常见的基于Eclipse的嵌入式集成开发环境...
  2. vim的ex模式介绍
  3. HTML基础用 表格做报表
  4. 文件系统挂载、卸载及相关的工具 ⑨
  5. Linux命令行操作快捷键及技巧
  6. 江苏省政府投资基金集聚区落地,基金目标规模再增1500亿
  7. 特殊权限之sticky
  8. 链表反转(递归与非递归实现)
  9. netbeans-xdebug 断点调试php
  10. AARRR:数据运营模型