比如说数据库中有一百条数据。。
一页显示N 条。。然后下面显示 出1 2 3 4 5 6 ....点击数字就能显示下一页的数据这个是怎么做的??是不是每次从数据库取多少条数据。
我不知道。。具体的思路。求解....分不多见谅

解决方案 »

  1.   

    看你用什么控件了,GRIDVIEW分页比较简单
      

  2.   

    GRIDVIEW分页,有自带的,设置一下属性就可以了lz到google上搜一下,漫天都是
      

  3.   

    一般用ajax方式来实现,一次性将数据读取后写入xml文件,再js文件动态生成表单数据
    页面方法调用:
    <td class="font-news" align="right">
                                    <a id="lnkFirst" onclick="DisplayData(1);" style="cursor: pointer;">首页</a>&nbsp; <a id="lnkPrevious" onclick="DisplayData(--g_nIndex);" style="cursor: pointer;">上一页</a>&nbsp; <span id="PageLinks"></span>&nbsp;<a id="lnkNext" onclick="DisplayData(++g_nIndex);;" style="cursor: pointer;">下一页</a>&nbsp;<a id="lnkLast" onclick="DisplayData(g_nTotal);" style="cursor: pointer;">尾页</a>&nbsp;&nbsp;<span id="spPageJump">跳转至<select name="select" id="PageSelect" style="width: 40px" tabindex="0" onchange="PageSelectChanged();" onblur="window.focus();"></select>页</span>
                                    </td>
    JS方法:首先取得你写入xml文件的所有节点
    //初始化分页时页码显示的HTML 
    var orgPageLink = "<a onclick='{OnCblChang}' style='{Style}'>{PageNO}</a>&nbsp;"; 
    function DisplayData(nPageIndex){...//这里是你动态生成表单要显示的数据
    //分页的参数控制
    var g_nIndex = nPageIndex;
    var n_PageSize = 6;  //每页要显示的记录数
    g_nTotal =Math.ceil(recordCount/n_PageSize); //recordCount是在数据库得到的记录总数
        var nStartIndex =0;
        var nEndIndex =0;
                
        nStartIndex = (g_nIndex-1) * n_PageSize +1;
        nEndIndex = g_nIndex * n_PageSize;
        SetPageLinks(g_nIndex,g_nTotal); 
    }
    //设置分页按钮显示
    function SetPageLinks(pageIndex,pageTotal){
        $("#PageLinks").html("");
        var MIN = pageIndex;
        var MAX = pageTotal;
        MIN = (MIN - 6 <= 0)? 1 : MIN - 5;
        MAX = MIN + 9;
        MAX = (MAX > pageTotal) ? pageTotal: MAX;
        MIN = (MAX - MIN < 10) ? MAX - 9 : MIN;
        MIN = (MIN <= 0) ? 1 : MIN;
        for(var i=MIN;i<=MAX;i++)
        {
            var strPageLink = orgPageLink;
            if(pageIndex == i)
            {   
                strPageLink = strPageLink.replace(/{OnCblChang}/g,"return;"); 
                strPageLink = strPageLink.replace(/{Style}/g,"color:Red;font-weight:bolder;"); 
            }
            else
            {
               strPageLink = strPageLink.replace(/{OnCblChang}/g,"DisplayData({PageNO});");
               strPageLink = strPageLink.replace(/{Style}/g,"cursor: pointer;"); 
            }
            strPageLink = strPageLink.replace(/{PageNO}/g,i);
            $("#PageLinks").append(strPageLink);
            $("#lnkPrevious").show();
        $("#lnkNext").show();
        $("#lnkFirst").show();
        $("#lnkLast").show();
        if (pageIndex <= 1) 
        {
            $("#lnkPrevious").hide();
            $("#lnkFirst").hide();
        } 
        if (pageIndex - pageTotal >= 0) 
        {
            $("#lnkNext").hide();
            $("#lnkLast").hide();
        }
        var objPageSelect = document.getElementById("PageSelect");
        objPageSelect.selectedIndex = pageIndex-1;
        }
    }
      

  4.   

    js里还要写两个函数控制页面分页跳转下拉框显示数据//fill page index in select list and set select value
    function FillSelect(pageIndex,pageTotal)
    {
        try
        {   
            if(pageTotal ==0)
            {
                $("#spPageJump").hide();
            }
            else
            {
                $("#spPageJump").show();
                $("#PageSelect").show();
                $("#PageSelect").html("");
                var strOption = "";
                for(var i=1;i<=pageTotal;i++)
                {  
                    
                    if(pageIndex == i)
                    {   
                        strOption += "<option selected='selected' value=" + i + ">"+ i + "</option>"; 
                    }
                    else
                    {
                        strOption += "<option value=" + i + ">"+ i + "</option>"; 
                    }
                     
                }
                $("#PageSelect").append(strOption);    
                var objPageSelect = document.getElementById("PageSelect");
                objPageSelect.options[pageIndex-1].selected = true;    
            }    
        }
        catch(e){}
    }//Select page index jump
    function PageSelectChanged()
    {
        try
        {  
            var objPageSelect = document.getElementById("PageSelect");
            var page = objPageSelect.options[objPageSelect.selectedIndex].value
            $("#PageSelect").blur();
            DisplayData(page);
        }
        catch(e){}

      

  5.   

    至于怎么将数据库的数据写入xml节点及在js里怎么读取xml节点不用说了吧,自己慢慢看吧,应该很好理解了
      

  6.   

    n:每页显示条数
    i:当前页码select top n * from table where id not in (select top n*(i-1) id from table order by xxx) order by xxx
      

  7.   

    select top n * from table where id not in (select top n*(i-1) id from table order by xxx) order by xxx
    这个不错。
      

  8.   

    搜一下分页存储过程,语法我忘记了,没环境。用到是not in
    比如select top 10 * from table where id not in (select top 页*行数 id from table where 条件 order by id ) and 条件 order by id然后有条语句 ,总数量
    select count(*) from table