当前位置:首页>网络学院>程序开发>ASP.NET教程>文章内容

ASP.NET实例:手把手教你如何扩展GridView之个性分页

[ 来源:www.it55.com | 作者: | 时间:2007-07-15 | 收藏 | 推荐 ] 【

整天面对GridView的分页,早就厌烦了,下面就谈下如何给GridView扩展出个性的分页来,首先看看运行效果图:
IT资讯之家 www.it55.com

www.it55.com


下面谈下重要的实现的思路的实现代码:
实现思路和上文的Excel和Word导出是一样的,就是在GridView中添加行,首先声明以下控件,用于显示页次:第几页,共多少页,多少记录,首页,上一页,下一页,尾页
用于分页的控件
Label lblCurrentPage;
Label lblPageCount;
Label lblRowsCount;
LinkButton btnFirst;
LinkButton btnPrev;
LinkButton btnNext;
LinkButton btnLast;在GridView的OnInit方法中,初始化这些控件
在控件的Oninit方法初始化分页控件
protected override void OnInit(EventArgs e)
{
this.EnableViewState = true;

45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

lblCurrentPage = new Label();
lblCurrentPage.ForeColor = ColorTranslator.FromHtml("#e78a29");
lblCurrentPage.Text = "1";

http://www.it55.com/

lblPageCount = new Label();
lblPageCount.Text = "1";

45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn


lblRowsCount = new Label();
lblRowsCount.ForeColor = ColorTranslator.FromHtml("#e78a29"); vd;k;l www.it55.com rdfg

btnFirst = new LinkButton();
btnFirst.Text = "首页";
btnFirst.Command += new CommandEventHandler(NavigateToPage);
btnFirst.CommandName = "Pager";
btnFirst.CommandArgument = "First";

sflj www.it55.com kg^&fgd

btnPrev = new LinkButton();
btnPrev.Text = "上一页";
btnPrev.Command += new CommandEventHandler(NavigateToPage);
btnPrev.CommandName = "Pager";
btnPrev.CommandArgument = "Prev"; it55.com

btnNext = new LinkButton();
btnNext.Text = "下一页";
btnNext.Command += new CommandEventHandler(NavigateToPage);
btnNext.CommandName = "Pager";
btnNext.CommandArgument = "Next";

vd;k;l www.it55.com rdfg

btnLast = new LinkButton();
btnLast.Text = "尾页";
btnLast.Command += new CommandEventHandler(NavigateToPage);
btnLast.CommandName = "Pager";
btnLast.CommandArgument = "Last"; 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn

base.OnInit(e);
} www.it55.com在线教程

然后是关键部分的代码,就是将这些控件如何添加到GridView中,通过在创建子控件的方式,如下:
在创建子控件的方法中添加分页控件
protected override int CreateChildControls(System.Collections.IEnumerable dataSource, bool dataBinding)
{
int res = base.CreateChildControls(dataSource, dataBinding);
if (ShowToolBar)
{
try
{
GridViewRow row = new GridViewRow(0, 0, DataControlRowType.Pager, DataControlRowState.Normal);
TableCell c = new TableCell();
c.Width = Unit.Percentage(100);
c.ColumnSpan = this.Columns.Count;
row.Cells.Add(c);
TableCell cell1 = new TableCell();
Table table = new Table();
TableRow r = new TableRow();
table.Rows.Add(r);
table.Width = Unit.Percentage(100); IT资讯之家 www.it55.com
c.Controls.Add(table);
r.Cells.Add(cell1);
Literal l1 = new Literal();
l1.Text = "页次:";
cell1.Controls.Add(l1);
cell1.Wrap = false;
cell1.Controls.Add(lblCurrentPage);
l1 = new Literal();
l1.Text = "页/";
cell1.Controls.Add(l1);
cell1.Controls.Add(lblPageCount);
l1 = new Literal();
l1.Text = "页,共";
cell1.Controls.Add(l1);
cell1.Controls.Add(lblRowsCount);
l1 = new Literal();
l1.Text = "条记录";
cell1.HorizontalAlign = HorizontalAlign.Left;
cell1.Controls.Add(l1);
TableCell cell2 = new TableCell();
cell2.HorizontalAlign = HorizontalAlign.Right; 45398 www.it55.com it55学习IT知识,享受IT生活 4dfkjn
cell2.Wrap = false; www.it55.com在线教程


l1 = new Literal();
l1.Text = " [";
cell2.Controls.Add(l1);
cell2.Controls.Add(btnFirst);
l1 = new Literal();
l1.Text = "] ";
cell2.Controls.Add(l1);

IT资讯之家 www.it55.com

l1 = new Literal();
l1.Text = " [";
cell2.Controls.Add(l1);
cell2.Controls.Add(btnPrev);
l1 = new Literal();
l1.Text = "] ";
cell2.Controls.Add(l1);

(编辑:IT资讯之家 www.it55.com

返回顶部
共2页: 上一页 1 [2] 下一页  

网友评论

[以下评论为网友观点,不代表本站。请自觉遵守互联网相关政策法规,所有连带责任均有评论者自负。]
[不超过250字]

图片文章