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;
}
}
}
}
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;
}
}
}
}