我发过去了
[email protected]

解决方案 »

  1.   

    我这里有个分页的,是和.net结合在一起的
    代码:其实主要是获取params:{start:0,limit:9}的时候出了问题,导致无法正常分页。
    分页的时候,存在三种情况:(1)表总记录<limit,则读取表所有记录,转换并返回
    (2)表总记录除以limit,余数为0,则按照正常读取
    (3)(表总记录-start)>limit,正常读取,否则读取剩余记录
    SqlHelper shp=new SqlHelper();
    string sql="select * from admin";
    if( Request.Form["start"]!= null && Request.Form["limit"]!= null  )
    {                        
    int start = int.Parse( Request.Form["start"] ); //获取页面显示的起始数
    int limit = int.Parse( Request.Form["limit"] ); //获取每页记录数
    //int start = int.Parse("0"); //获取页面显示的起始数
    //int limit = int.Parse("5"); //获取每页记录数                ds=new DataSet();
    ds=shp.GetDS(sql); StringBuilder sb = new StringBuilder();
    sb.Append("["); int pageCount = ds.Tables[0].Rows.Count; //共有页数
    //第一种情况:总行数 <PageSaze
    if(pageCount<limit)
    {
    //取出所有记录
    for( int i=start ; i < start+pageCount ;i++ )
    {
    //string sShipRegion = ds.Tables[0].Rows[i].IsNull("ShipRegion")?"null" : ds.Tables[0].Rows[i]["ShipRegion"].ToString();
    sb.Append("{id:'"+ds.Tables[0].Rows[i]["id"].ToString()+"',name:'"+ds.Tables[0].Rows[i]["name"].ToString()+"',sex:'"+ds.Tables[0].Rows[i]["sex"].ToString()+"'}");
                        
    if( i!= (start+pageCount-1) )
    {
    sb.Append(",");
    }
    }         }
    //第二种情况:总行数 >PageSaze,但是总行数%PageSaze!=0,即取余不为0
    else
    {
                        //用总记录-当前开始行号,判断是否能整除PageSaze(limit)
    //整除,显示PageSaze(limit)条记录,否则显示剩下的所有记录
    if((pageCount-start)%limit==0)
    {
    //取出所有记录
    for( int i=start ; i < start+limit ;i++ )
    {
    //string sShipRegion = ds.Tables[0].Rows[i].IsNull("ShipRegion")?"null" : ds.Tables[0].Rows[i]["ShipRegion"].ToString();
    sb.Append("{id:'"+ds.Tables[0].Rows[i]["id"].ToString()+"',name:'"+ds.Tables[0].Rows[i]["name"].ToString()+"',sex:'"+ds.Tables[0].Rows[i]["sex"].ToString()+"'}");
                        
    if( i!= (start+limit-1) )
    {
    sb.Append(",");
    }

    }
    else
    {   //剩余记录>PageSaze(limit)
    if((pageCount-start)>limit)
    {
    //取出所有记录
    for( int i=start ; i < start+limit ;i++ )
    {
    //string sShipRegion = ds.Tables[0].Rows[i].IsNull("ShipRegion")?"null" : ds.Tables[0].Rows[i]["ShipRegion"].ToString();
    sb.Append("{id:'"+ds.Tables[0].Rows[i]["id"].ToString()+"',name:'"+ds.Tables[0].Rows[i]["name"].ToString()+"',sex:'"+ds.Tables[0].Rows[i]["sex"].ToString()+"'}");
                        
    if( i!= (start+limit-1) )
    {
    sb.Append(",");
    }

    }
    else
    {
    //取出所有记录
    for( int i=start ; i < pageCount ;i++ )
    {
    //string sShipRegion = ds.Tables[0].Rows[i].IsNull("ShipRegion")?"null" : ds.Tables[0].Rows[i]["ShipRegion"].ToString();
    sb.Append("{id:'"+ds.Tables[0].Rows[i]["id"].ToString()+"',name:'"+ds.Tables[0].Rows[i]["name"].ToString()+"',sex:'"+ds.Tables[0].Rows[i]["sex"].ToString()+"'}");
                        
    if( i!= (start+pageCount-1) )
    {
    sb.Append(",");
    }
    }
    }

    }
    }            
    sb.Append("]"); //字符串的拼接
                        
    string Temp = "{totalCount:"+pageCount+",root:" + sb.ToString() + "}";  
                        
    Response.Write( Temp );
    Response.End();