none
. net 复合控件的开发 RRS feed

  • 问题

  •  我想把一个分页控件 ,像这样的(当前页,第一页,最后页)都是LABEL 控件,  把它弄成一个复合控件,用着方便,我的目的是定制完属性 以后,只要把数据源给它就行了, 然后用把数据源直接给 DATALIST  ,repter,gridview  就可以用的,    我不知道这些属性怎么定制! 
    小吴
    2009年4月27日 9:22

答案

  • 你好,你可以考虑用 SqlDataAdapter.Fill 的方法来分页如 adapter.Fill(dataSet,10,10,"Categories"); 在你的控件中增加一个分页事件来控制你的分页

    如 

    void Pager_SelectIndex(object sender, SelectedIndexChangeEventArgs)
    {
    Pager.CurPageIndex = e.NewIndex;
    this.BindGrid();
    }

    void BindGrid()
    {
    usiing (SqlDataAdapter fAdapter = new SqlDataAdapter("Select * from xxxx", "连接字符串"))
    {
    DataSet fDataSet = new DataSet();
    fAdapter.Fill(fDataSet, this.Pager.CurPageIndex , this.Pager.PageSize, "xxxx")
    GridView.DataSource = FdataSet.Tables[0]
    GridView.DataBind();
    }
    }

    你也可以通过存储过程进行分页, 如把 DataList, Repter, GridView 做为你的分页控件的一个属性,然后把你分页存储过程所需要的参数传给分页控件,让分页控件来处理控件绑定,

    等等,需要处理的细节还是满多的,加油吧!

    知识改变命运,奋斗成就人生!
    2009年4月27日 12:01
    版主

全部回复

  • 你好,你可以考虑用 SqlDataAdapter.Fill 的方法来分页如 adapter.Fill(dataSet,10,10,"Categories"); 在你的控件中增加一个分页事件来控制你的分页

    如 

    void Pager_SelectIndex(object sender, SelectedIndexChangeEventArgs)
    {
    Pager.CurPageIndex = e.NewIndex;
    this.BindGrid();
    }

    void BindGrid()
    {
    usiing (SqlDataAdapter fAdapter = new SqlDataAdapter("Select * from xxxx", "连接字符串"))
    {
    DataSet fDataSet = new DataSet();
    fAdapter.Fill(fDataSet, this.Pager.CurPageIndex , this.Pager.PageSize, "xxxx")
    GridView.DataSource = FdataSet.Tables[0]
    GridView.DataBind();
    }
    }

    你也可以通过存储过程进行分页, 如把 DataList, Repter, GridView 做为你的分页控件的一个属性,然后把你分页存储过程所需要的参数传给分页控件,让分页控件来处理控件绑定,

    等等,需要处理的细节还是满多的,加油吧!

    知识改变命运,奋斗成就人生!
    2009年4月27日 12:01
    版主