希望懂得的朋友能看看,我不知道他这句的
DataSet ds = bind(); //这里是数据源
这句是什么意思,是如何设定数据源的?
代码地址:http://topic.csdn.net/u/20090704/11/2f655cf9-185d-4221-bbfb-5e24c573439d.html?15835
顺便问问,有没有其他方法让Datalist分页或者有没有控件。
aspnetpager这个控件是外部下载的吗?

解决方案 »

  1.   

    看看bind()这个方法,应该返回一个dataset
      

  2.   

    DataSet ds = bind(); //这里是数据源 
    这句是什么意思,是如何设定数据源的? 
    相当于是数据库的查询方法,返回的是 DataSet 
      

  3.   

    你可以使用PageDataSource进行前台分页,但是如果数据量较大的话,是绝对不推荐的,可以使用数据库分页。每次查询之查询所需的几条
      

  4.   

    给你个分页代码
     public void Pagess()
        {
            PagedDataSource pds = new PagedDataSource();
            pds.DataSource = (from d in dc.Shippers select d).ToList();
            pds.AllowPaging = true;
            pds.PageSize = 5;
            int CurrentPage = 0;
            if (Request.QueryString["Page"] != null)
            {
                CurrentPage = Convert.ToInt32(Request.QueryString["Page"]);
            }
            else
            {
                CurrentPage = 1;
            }
            pds.CurrentPageIndex = CurrentPage - 1;
            lbPage.Text = "当前是第:" + CurrentPage.ToString() + "页";//lbPage为label控件
            if (!pds.IsFirstPage)
            {
                Hfirst.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurrentPage - 1);//Hfirst为HyperLink控件
            }
            else if (!pds.IsLastPage)
            {
                Hlast.NavigateUrl = Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurrentPage + 1);//Hlast为HyperLink控件
            }
            Repeater1.DataSource = pds;//Repeater1为数据控件
            Repeater1.DataBind();
        }    
      

  5.   

    我想知道他这个bind()函数是如何加载数据源的?
      

  6.   

    bind()应该是他的一个绑定的方法,你把代码发出来看看
      

  7.   

    bind()这个方法返回一个dataset对象,就是一个简单的查询
    分页用存储过程啊,下面是一个通用的分页存储过程,可以参考一下:
    CREATE PROCEDURE pr_PageInation
    (
    @intStartIndex int,
    @intPageSize int,
    @sysTableName sysname,
    @varSortExpression varchar(100),
    @varCotitionExepression varchar(max)
    )
    AS
    BEGIN
    DECLARE @varSql varchar(max);
    DECLARE @intFrontTotal int;
    SET @intFrontTotal=@intStartIndex+@intPageSize;
    SET @varSql='
    SELECT TOP '+CAST(@intPageSize AS VARCHAR)+' * FROM
    (
    SELECT TOP '+CAST(@intFrontTotal-1 AS VARCHAR)+' * 
    FROM '+ @sysTableName + @varCotitionExepression
    +' ORDER BY '+@varSortExpression+'ASC'
    ) AS '+ @sysTableName+'PageInation
    ORDER BY '+@varSortExpression+' DESC'
    EXECUTE(@varSql);END