沉重的打击,想尽办法法做的控件却没有实现分页功能,请思归看一下!
protected override void CreateChildControls()
{
//以下创建表格行
int nEndcount;
if(nStartcount+PageSize>=dtbname.Rows.Count)
{
nEndcount=dtbname.Rows.Count;}
else
{
nEndcount=nStartcount+PageSize;
}
HyperLink[] dtkey=new HyperLink[dtbname.Rows.Count+2];
for (int i=nStartcount; i < nEndcount; i++)
{
trcontent =new TableRow();
Controls.Add(trcontent);
trcontent.BackColor=System.Drawing.ColorTranslator.FromHtml(Trbgcolor);
//第一列加连接
TableCell tc = new TableCell();
trcontent.Cells.Add(tc);
dtkey[i]=new HyperLink();
dtkey[i].Text=dtbname.Rows[i][Dt_guid].ToString();
dtkey[i].NavigateUrl=Linkpage+"?"+Trans_guid+"="+Dt_guid;
tc.Controls.Add(dtkey[i]);
for (int j=1; j < Columnum; j++)
{
TableCell tco = new TableCell();
tco.Text=dtbname.Rows[i][j].ToString();
trcontent.Cells.Add(tco);
}
}
//以下创建linkbutton
nagrow = new TableRow();
Controls.Add(nagrow);
TableCell nagcell = new TableCell();
nagrow.Cells.Add(nagcell);
int nTotalCount=Dtbname.Rows.Count;
nTotalPage = nTotalCount/PageSize;
nTotalPage += nTotalCount % PageSize > 0? 1:0;
LinkButton[] GoPage=new LinkButton[nTotalPage+2];
for(int n=1;n<=nTotalPage;n++)
{
GoPage[n]=new LinkButton();
GoPage[n].Text=n.ToString();
GoPage[n].ID="GoPage"+n.ToString();
GoPage[n].Click+=new EventHandler(this.Gopageclicked);
nagcell.Controls.Add(GoPage[n]);
}
}
private void Gopageclicked(Object sender, EventArgs e)
{
LinkButton lb = (LinkButton)sender;
nStartcount=PageSize*(System.Convert.ToInt16(lb.ID.Substring(6))-1);
}