WEB开发网
开发学院网页设计JavaScript JQuery构建客户/服务分离的链接模型中Table分页代... 阅读

JQuery构建客户/服务分离的链接模型中Table分页代码效率初探

 2010-01-20 00:00:00 来源:WEB开发网   
核心提示: 环境:Visual studio 2005JQuery 1.3.2SQLServer2005分页原理:从上图中,看到不管数据表中有多少数据,JQuery构建客户/服务分离的链接模型中Table分页代码效率初探(3),每次返回到客户端的数据都是一页的数据,这种方法没有采用存储过程方式,通过它获取一

环境:Visual studio 2005

JQuery 1.3.2

SQLServer2005

分页原理:

JQuery构建客户/服务分离的链接模型中Table分页代码效率初探

从上图中,看到不管数据表中有多少数据,每次返回到客户端的数据都是一页的数据,这种方法没有采用存储过程方式,而是在webservice端进行处理的。

代码片段:

服务端填充Table表格代码:

说明:

TB_WEB_NZ_INVESTMENT  是实体类,对应表对象

FlowID  表对象的字段属性,通过它获取一类相似的数据记录

代码中有对【首页】,【尾页】,【中间页】的元素进行过滤,对返回的泛型List对象进行范围过滤

    /// <summary>
    /// 分页功能的表格填充服务端
    /// </summary>
    /// <param name="FlowID"></param>
    /// <param name="PageCount">每页数目</param>
    /// <param name="CurrentPage">当前页</param>
    /// <returns></returns>
    [WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public string Load_ContributivePerson_Table(string FlowID, int PageCount, int CurrentPage)
    {
        List<TB_WEB_NZ_INVESTMENT> list = new List<TB_WEB_NZ_INVESTMENT>();
       
        list = objBusinessFacade.GetTB_WEB_NZ_INVESTMENT_CollectionByFlowID(FlowID);
        int TotalPageCount = 0;
        if (PageCount != 0)
        {
            if ((list.Count % PageCount) > 0)
            {
                TotalPageCount = list.Count / PageCount + 1;
            }
            else
            {
                TotalPageCount = list.Count / PageCount;
            }
        }//if

        if (CurrentPage == 1)
        {
            //第一页
            if (PageCount < list.Count)
            {
                list.RemoveRange(PageCount, list.Count - PageCount);
            }
           
        }
        else if (CurrentPage > 1 && CurrentPage < TotalPageCount)
        {
            //中间页
            
            
            int R1 = (CurrentPage - 1) * PageCount-1;
            int R2 = CurrentPage  * PageCount;
           
            List<TB_WEB_NZ_INVESTMENT> list1 = new List<TB_WEB_NZ_INVESTMENT>();
            for (int i = 0; i < list.Count; i++)
            {
                if (i > R1&&i<R2)
                {
                    list1.Add(list[i]);
                }
            }
            list.Clear();
            list = list1;
        }
        else if (CurrentPage == TotalPageCount)
        {
            //尾页
           
            //但返回的显示对象列表确只能是最后一页里面的记录
            //这里需要剔除不是最后一页的元素对象
            list.RemoveRange(0,(CurrentPage-1) * PageCount);
        }

        return new JavaScriptSerializer().Serialize(list);
    }

上一页  1 2 3 4 5 6 7 8  下一页

Tags:JQuery 构建 客户

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接