chyel-love'net

本人今年大四,即将毕业,准备从事dotnet程序开发业,
擅长b/s开发,熟悉三层结构,希望有愿意收留本人者,请与我联系。QQ:109267323
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

DataGrid个性化分页

Posted on 2005-08-31 11:38  chyel-love  阅读(364)  评论(0编辑  收藏  举报
DataGrid的分页栏一共有3个控件:Label,LiteralControl和DataGridLinkButton。
Label用来显示当前页;
LiteralControl用来显示页链接之间的间隔,默认情况下是空格;
DataGridLinkButton显示的是其它链接列。

重写分页栏时是在ItemCreate事件里写的:
if(e.Item.ItemType==ListItemType.Pager)
{
  foreach(Control ct in e.Item.Cell[0].Controls)
   {
      switch(ct.GetType().ToString())
      {
         case "System.Web.UI.WebControls.Label":
         {
            Label l=(Label)ct;
            l.Text="当前页["+l.Text+"]";
            break;
          }
         case "System.Web.UI.WebControls.LiteralControl":
         {
            LiteralControl lc=(LiteralControl)ct;
            lc.Text="|";
            break:
          }
         case "System.Web.UI.WebControls.DataGridLinkButton":
         {
             LinkButton lb=(LinkButton)ct;
             if(e.Item.Cells[0].Controls.IndexOf(ct)==0&&lb.Text="…")
                  lb.Text="[向前翻页]";
             else if(e.Item.Cells[0].Controls.IndexOf(ct)==e.Item.Cells[0].Controls.Count-1&&lb.Text=="…")
                  lb.Text="[向后翻页]";
             else
                  lb.Text="第["+lb.Text+"]页";
             break;
          }
      }
    }
}