http://www20.brinkster.com/icyer/datagrid.htm

解决方案 »

  1.   

    我想有另外一种做法,设定分页的position属性是TopAndBottom,然后在ItemCreated的时候清除Top或者Bottom的一个分页行,重新写入新的分页行
      

  2.   

    我做过一个这样的例子
    大体意思是item_created里面写东西
      

  3.   

    //DataGrid的ItemCreated事件
    private void DataGrid1_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType==System.Web.UI.WebControls.ListItemType.Pager)
    {
    Label lblSep1=new Label();
    lblSep1.Text="";
    lblSep1.Width=Unit.Pixel(8);
    e.Item.Cells[0].Controls.AddAt(0,lblSep1); LinkButton btnPre=new LinkButton();
    btnPre.Text="Previous";
                      btnPre.CommandName="Previous";
    e.Item.Cells[0].Controls.AddAt(0,btnPre); Label lblSep2=new Label();
    lblSep2.Width=Unit.Pixel(8);
    lblSep2.Text="";
    e.Item.Cells[0].Controls.Add(lblSep2); LinkButton btnNext=new LinkButton();
    btnNext.Text="Next";
                      btnNext.CommandName="Next";
    e.Item.Cells[0].Controls.Add(btnNext);

    btnPre.Click+=new System.EventHandler(this.DataGridPageChange);
    btnNext.Click+=new System.EventHandler(this.DataGridPageChange); if(DataGrid1.CurrentPageIndex==0)
    {btnPre.Enabled=false;}
    if(DataGrid1.CurrentPageIndex==DataGrid1.PageCount-1)
    {btnNext.Enabled=false;}
    }
    }//下面是自定义事件,对应LinkButton的Click事件
    private void DataGridPageChange(object sender,System.EventArgs e)
    {
    LinkButton btnSender;
    btnSender=(LinkButton)sender;
    if(btnSender.CommandName=="Previous" && DataGrid1.CurrentPageIndex>0)
    {
    DataGrid1.CurrentPageIndex-=1;
    DataGridBindData();
    }
    else if(btnSender.CommandName=="Next" && DataGrid1.CurrentPageIndex<DataGrid1.PageCount-1)
    {
    DataGrid1.CurrentPageIndex+=1;
    DataGridBindData();
    }
    }