zoukankan      html  css  js  c++  java
  • Atitit.列表页面and条件查询的实现最佳实践(2)------翻页 分页 控件的实现java .net php

    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. :搜索框搜索button事件: 2

    4.2. 翻页事件: 2

    4.3. Jump事件... 2

    5. 执行在服务端还是client控件?

    ? 3

    6. 数据源内部获得翻页数据执行在服务端还是client?

    ?

    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. :搜索框搜索button事件:

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

    或者

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

    4.2. 翻页事件:

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

    4.3. Jump事件...

    5. 执行在服务端还是client控件??

    从兼容性考虑翻页控件还是执行在client更好...java .net php都能使用....

    6. 数据源内部获得翻页数据执行在服务端还是client?

    ?

    从开发效率想,  少量数据能够在client数据源内部获得...

    7. 翻页控件选型::easyui

    clienteasyui 推荐,,,...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 - 博客园

    我要啦免费统计
  • 相关阅读:
    传输中文的乱码的原因及解决方式(两次encodeURI())转码;
    git密码配置
    后台界面设计之表单设计规范参考
    RDIFramework.NET开发框架在线表单设计整合工作流程的使用
    Electron,可以将web网页程序包装成桌面应用
    分布式/微服务必配APM系统,SkyWalking让你不迷路
    终端篇——Terminal三剑客之zsh
    高性能IO之Reactor模式
    uTools 你的办公利器
    JAVA 工具类库推荐 HuTool
  • 原文地址:https://www.cnblogs.com/jzssuanfa/p/6747397.html
Copyright © 2011-2022 走看看