我刚刚做了个aspnetpager在datalist的分页,只是个实验,我想在业务层实现逻辑,返回一个dataset的结果集然后在.cs文件中调用它。
这是我刚刚做的后台代码:
protected void Page_Load(object sender, EventArgs e)
    {
        if (!this.IsPostBack) 
        {
            this.DataListBanding();
        }
    }
    private void DataListBanding() 
    {
        SqlConnection con = new SqlConnection("server=.;database=Test;uid=sa;pwd=;");
        con.Open(); 
        SqlCommand sqlCom=new SqlCommand("select Count(Id) from Page1",con);
        this.AspNetPagerList.RecordCount = Convert.ToInt16(sqlCom.ExecuteScalar());
        SqlDataAdapter sqlAdapter = new SqlDataAdapter("select Id from Page1",con);
        DataSet dataSet = new DataSet();  
        sqlAdapter.Fill(dataSet,(this.AspNetPagerList.CurrentPageIndex-1)*this.AspNetPagerList.PageSize, this.AspNetPagerList.PageSize, "Page");
        this.DataListPager.DataSource = dataSet.Tables["Page"];
        this.DataListPager.DataBind();
    }
    protected void AspNetPagerList_PageChanged(object sender, EventArgs e)
    {
        this.DataListBanding();
    }
如果分层的话,这一句:sqlAdapter.Fill(dataSet,(this.AspNetPagerList.CurrentPageIndex-1)*this.AspNetPagerList.PageSize, this.AspNetPagerList.PageSize, "Page");
就不知道怎么实现了。
哪位大侠帮帮忙,今天完不成任务,老板又该给脸色le。
在线等...

解决方案 »

  1.   

    要分页不想自己写去找下他的源吗
    有两种方式
    就是把你查询的放在缓存中在读取绑定
    还有就是直接放在DATAlist中
    只需要写个
    PAGEDATASOURCE 就可以咯
    其他的没有任何变化
    我这里有我做的源码可我的网速慢要不都给你看咯
      

  2.   

    怎样制定pagedatasource?好像没有用过。
      

  3.   

     using (SqlConnection con = new SqlConnection("server=.;uid=sa;pwd=;database=pubs"))
            {
                using (SqlCommand com = new SqlCommand())
                {
                    com.Connection = con;
                    com.CommandText = "select * from employee";
                    SqlDataAdapter da = new SqlDataAdapter(com);
                    DataSet ds = new DataSet();
                    da.Fill(ds, "employee");
                    
                    PagedDataSource page = new PagedDataSource();
                    page.DataSource = ds.Tables["employee"].DefaultView;
                    page.AllowPaging = true;
                    page.PageSize=5;
                    this.pageSum.Text= page.PageCount.ToString();
                    page.CurrentPageIndex = int.Parse(this.pageCur.Text) - 1;
                    if (page.IsFirstPage)
                    {
                        this.lnks.Enabled = false;
                    }
                    else
                    {
                        this.lnks.Enabled = true; 
                    }
                    if (page.IsLastPage)
                    {
                        this.lnkxia.Enabled = false;
                    }
                    else
                    {
                        this.lnkxia.Enabled = true ;
                    }
                    this.DataList1.DataSource = page;
                    this.DataList1.DataBind();
                }
            }
        }
    这是我学的时候用的
    现在都用别人的dll