私人资料库
本博客大部分技术文章,均从网络搜索得来,旨在收集整理技术资料,文章版权归属原作者,由此引起的任何版权问题,与本人无关。

【原文地址】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("&nbsp;&nbsp;")); 
            tc.Controls.Add(
new LiteralControl("" + RecoderCount.ToString() + "条记录")); 
            tc.Controls.Add(
new LiteralControl("&nbsp;&nbsp;")); 
            tc.Controls.Add(
new LiteralControl("" + PageCount.ToString() + "")); 
            tc.Controls.Add(
new LiteralControl("&nbsp;&nbsp;")); 
            tc.Controls.Add(
new LiteralControl("当前第" + (PageIndex + 1).ToString() + "")); 
            tc.Controls.Add(
new LiteralControl("&nbsp;&nbsp;")); 
            tc.Controls.Add(
new LiteralControl("每页" + PageSize.ToString() + "条记录")); 
            tc.Controls.Add(
new LiteralControl("&nbsp;&nbsp;&nbsp;&nbsp;")); 

            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("&nbsp;&nbsp;")); 
            tc.Controls.Add(Prev); 
            tc.Controls.Add(
new LiteralControl("&nbsp;&nbsp;")); 

            
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("&nbsp;&nbsp;")); 
            }
 
            
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("&nbsp;&nbsp;")); 
            tc.Controls.Add(Last); 
            tc.Controls.Add(
new LiteralControl("&nbsp;&nbsp;")); 

            e.Row.Controls.Add(tc); 
        }
 


 

posted on 2008-08-07 18:32  该显示名称已被其他用户使用  阅读(692)  评论(0编辑  收藏  举报