【原文地址】http://www.cnblogs.com/johngong/archive/2008/05/08/1188614.html
一般在设计视图来设置PagerTemplate,比如
<PagerTemplate>
<asp:LinkButton ID="FirstButton" Text="首页" CommandName="Page" CommandArgument="First"
runat="Server" ForeColor="White" />
<asp:LinkButton ID="LastButton" Text="末页" CommandName="Page" CommandArgument="Last"
runat="Server" ForeColor="White" />
</PagerTemplate>
PagerTemplate
现在我想通过编程的方式来设置PagerTemplate,
gridview.PagerTemplate属性可以获取或设置PagerTemplate内容.我现在通过手工编程想把上述两个LinkButton加到PagerTemplate中,不知怎么实现?
protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
{
int PageSize = this.GridView1.PageSize;
int PageIndex = this.GridView1.PageIndex;
int PageCount = this.GridView1.PageCount;
int RecoderCount = this.GridView1.Rows.Count;
if (e.Row.RowType == DataControlRowType.Pager)
{
LinkButton Frist = new LinkButton();
LinkButton Prev = new LinkButton();
LinkButton Next = new LinkButton();
LinkButton Last = new LinkButton();
e.Row.Controls.Clear();
TableCell tc = new TableCell();
tc.Controls.Add(new LiteralControl(" "));
tc.Controls.Add(new LiteralControl("共" + RecoderCount.ToString() + "条记录"));
tc.Controls.Add(new LiteralControl(" "));
tc.Controls.Add(new LiteralControl("共" + PageCount.ToString() + "页"));
tc.Controls.Add(new LiteralControl(" "));
tc.Controls.Add(new LiteralControl("当前第" + (PageIndex + 1).ToString() + "页"));
tc.Controls.Add(new LiteralControl(" "));
tc.Controls.Add(new LiteralControl("每页" + PageSize.ToString() + "条记录"));
tc.Controls.Add(new LiteralControl(" "));
Frist.Text = "首页";
Frist.CommandName = "Page";
Frist.CommandArgument="First";
Frist.Font.Underline=false;
Prev.Text="上一页";
Prev.CommandName="Page";
Prev.CommandArgument="Prev";
Prev.Font.Underline=false;
Next.Text="下一页";
Next.CommandName="Page";
Next.CommandArgument="Next";
Next.Font.Underline=false;
Last.Text="尾页";
Last.CommandName="Page";
Last.CommandArgument="Last";
Last.Font.Underline=false;
if(PageIndex <=0)
{
Prev.Enabled=false;
Frist.Enabled = false;
}
else
{
Prev.Enabled=true;
Frist.Enabled = true;
}
tc.Controls.Add(Frist);
tc.Controls.Add(new LiteralControl(" "));
tc.Controls.Add(Prev);
tc.Controls.Add(new LiteralControl(" "));
for(int i=0;i <PageCount;i++)
{
if(i==PageIndex)
{
tc.Controls.Add(new LiteralControl(" <span style='color:red;font-weight:bold'>" + (i + 1).ToString() + " </span>"));
}
else
{
LinkButton lbBtn=new LinkButton();
lbBtn.Text=(i+1).ToString();
lbBtn.CommandName="Page";
lbBtn.CommandArgument=(i+1).ToString();
lbBtn.Font.Underline=false;
tc.Controls.Add(lbBtn);
}
tc.Controls.Add(new LiteralControl(" "));
}
if(PageIndex>=PageCount)
{
Next.Enabled=false;
Last.Enabled = false;
}
else
{
Next.Enabled=true;
Last.Enabled = true;
}
tc.Controls.Add(Next);
tc.Controls.Add(new LiteralControl(" "));
tc.Controls.Add(Last);
tc.Controls.Add(new LiteralControl(" "));
e.Row.Controls.Add(tc);
}
{
int PageSize = this.GridView1.PageSize;
int PageIndex = this.GridView1.PageIndex;
int PageCount = this.GridView1.PageCount;
int RecoderCount = this.GridView1.Rows.Count;
if (e.Row.RowType == DataControlRowType.Pager)
{
LinkButton Frist = new LinkButton();
LinkButton Prev = new LinkButton();
LinkButton Next = new LinkButton();
LinkButton Last = new LinkButton();
e.Row.Controls.Clear();
TableCell tc = new TableCell();
tc.Controls.Add(new LiteralControl(" "));
tc.Controls.Add(new LiteralControl("共" + RecoderCount.ToString() + "条记录"));
tc.Controls.Add(new LiteralControl(" "));
tc.Controls.Add(new LiteralControl("共" + PageCount.ToString() + "页"));
tc.Controls.Add(new LiteralControl(" "));
tc.Controls.Add(new LiteralControl("当前第" + (PageIndex + 1).ToString() + "页"));
tc.Controls.Add(new LiteralControl(" "));
tc.Controls.Add(new LiteralControl("每页" + PageSize.ToString() + "条记录"));
tc.Controls.Add(new LiteralControl(" "));
Frist.Text = "首页";
Frist.CommandName = "Page";
Frist.CommandArgument="First";
Frist.Font.Underline=false;
Prev.Text="上一页";
Prev.CommandName="Page";
Prev.CommandArgument="Prev";
Prev.Font.Underline=false;
Next.Text="下一页";
Next.CommandName="Page";
Next.CommandArgument="Next";
Next.Font.Underline=false;
Last.Text="尾页";
Last.CommandName="Page";
Last.CommandArgument="Last";
Last.Font.Underline=false;
if(PageIndex <=0)
{
Prev.Enabled=false;
Frist.Enabled = false;
}
else
{
Prev.Enabled=true;
Frist.Enabled = true;
}
tc.Controls.Add(Frist);
tc.Controls.Add(new LiteralControl(" "));
tc.Controls.Add(Prev);
tc.Controls.Add(new LiteralControl(" "));
for(int i=0;i <PageCount;i++)
{
if(i==PageIndex)
{
tc.Controls.Add(new LiteralControl(" <span style='color:red;font-weight:bold'>" + (i + 1).ToString() + " </span>"));
}
else
{
LinkButton lbBtn=new LinkButton();
lbBtn.Text=(i+1).ToString();
lbBtn.CommandName="Page";
lbBtn.CommandArgument=(i+1).ToString();
lbBtn.Font.Underline=false;
tc.Controls.Add(lbBtn);
}
tc.Controls.Add(new LiteralControl(" "));
}
if(PageIndex>=PageCount)
{
Next.Enabled=false;
Last.Enabled = false;
}
else
{
Next.Enabled=true;
Last.Enabled = true;
}
tc.Controls.Add(Next);
tc.Controls.Add(new LiteralControl(" "));
tc.Controls.Add(Last);
tc.Controls.Add(new LiteralControl(" "));
e.Row.Controls.Add(tc);
}