GridView,DataList,Repeater控件应用技巧
2010-05-24 11:53
309 查看
2007-11-11 22:43
using System; using System.Collections; using System.ComponentModel; using System.Data; using System.Data.SqlClient; using System.Web; using System.Web.SessionState; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.HtmlControls; namespace ustonetdonet.DotNetPagedData { /**//// <summary> /// 本类提供GridView,DataList,Repeater的通用分页 /// 参考了NetFire(Fire.Rolland.Han)http://netfire.my.gsdn.net/2005/04/04/2945/ /// /// /// 使用方法: /// 1.在引用里添加dll的引用 /// 2.using ustonetdonet.DotNetPagedData; /// 3.private DotNetPagedData pager; /// 4.page_load() /// if(!IsPostBack) /// { /// pager=new DotNetPagedData(); /// pager.PagedPanel=this.pagedPanel; /// pager.GridView = this.GridView1; //如果是DataGrid则添加此项 /// pager.Datalist=this.DataList1; //如果是DataList则添加此项 /// pager.Repeater=this.Repeater1; //如果是Repeater则添加此项 /// pager.Lnknext=this.lnkNext; /// pager.Lnkprev=this.lnkPrev; /// pager.Lnklast=this.lnklast; /// pager.Lnkfist=this.lnkfist; /// pager.Pagenum=this.Pagenum; /// pager.Pagecount=this.Pagecount; /// pager.List=this.ddl_jump; /// //简单示例定义DataSet外部定义,同样也可以采用执行sqlstr,并填充给DataSet,本类也重载了datapage(),详细信息可查看详细代码 /// DataSet ds=new DataSet(); /// ds.ReadXml(Server.MapPath("test.xml")); /// pager.datapage(ds,5); /// } /// /// // DropDownList必须设定为AutoPostBack,下面添加它的事件 /// 5.private void DropDownList1_SelectedIndexChanged(object sender, System.EventArgs e) /// { /// pager=new DotNetPagedData(); /// pager.List=this.DropDownList1; /// pager.Lnkjump=this.HyperLink3; /// pager.select(); /// } /// </summary> public class DotNetPagedData : System.Web.UI.Page { private System.Web.UI.WebControls.GridView gridview = null; private System.Web.UI.WebControls.DataList datalist = null; private System.Web.UI.WebControls.Repeater repeater = null; private System.Web.UI.WebControls.HyperLink lnknext; private System.Web.UI.WebControls.HyperLink lnkprev; private System.Web.UI.WebControls.HyperLink lnkfist; private System.Web.UI.WebControls.HyperLink lnklast; private System.Web.UI.WebControls.HyperLink lnkjump; private System.Web.UI.WebControls.Label pagenum; private System.Web.UI.WebControls.Label pagecount; private System.Web.UI.WebControls.Panel pagedPanel; private System.Web.UI.WebControls.DropDownList list; public DotNetPagedData() { // // TODO: 在此处添加构造函数逻辑 // } public System.Web.UI.WebControls.GridView GridView { get { return this.gridview; } set { this.gridview = value; } } public System.Web.UI.WebControls.DataList Datalist { get { return this.datalist; } set { this.datalist = value; } } public System.Web.UI.WebControls.Repeater Repeater { get { return this.repeater; } set { this.repeater = value; } } public System.Web.UI.WebControls.HyperLink Lnkprev { get { return this.lnkprev; } set { this.lnkprev = value; } } public System.Web.UI.WebControls.HyperLink Lnknext { get { return this.lnknext; } set { this.lnknext = value; } } public System.Web.UI.WebControls.HyperLink Lnkfist { get { return this.lnkfist; } set { this.lnkfist = value; } } public System.Web.UI.WebControls.HyperLink Lnklast { get { return this.lnklast; } set { this.lnklast = value; } } public System.Web.UI.WebControls.HyperLink Lnkjump { get { return this.lnkjump; } set { this.lnkjump = value; } } public System.Web.UI.WebControls.Label Pagenum { get { return this.pagenum; } set { this.pagenum = value; } } public System.Web.UI.WebControls.Label Pagecount { get { return this.pagecount; } set { this.pagecount = value; } } public System.Web.UI.WebControls.DropDownList List { get { return this.list; } set { this.list = value; } } public System.Web.UI.WebControls.Panel PagedPanel { get { return this.pagedPanel; } set { this.pagedPanel = value; } } //针对一般数据邦定,不执行sqlstr public void datapage(DataSet ds, int pagenum) { PagedDataSource objPds = new PagedDataSource(); objPds.AllowPaging = true; //每页显示数目 objPds.PageSize = pagenum; //指定数据源 objPds.DataSource = ds.Tables[0].DefaultView; int CurPage; //绑定dropdownlist数据 for (int i = 1; i <= objPds.PageCount; i++) { this.list.Items.Add(i.ToString()); } this.list.Items.Insert(0, new ListItem("页数", "")); //确定当前页数 if (System.Web.HttpContext.Current.Request.Params["Page"] != null) { CurPage = Convert.ToInt32(System.Web.HttpContext.Current.Request.Params["Page"]); } else { CurPage = 1; } objPds.CurrentPageIndex = CurPage - 1; if (objPds.PageCount > 1) { pagedPanel.Visible = true; } else { pagedPanel.Visible = false; } //显示当前页数 this.pagenum.Text = "当前:" + CurPage.ToString() + "页"; //显示总共页数 this.pagecount.Text = "共有" + objPds.PageCount + "页"; //下一页 if (!objPds.IsLastPage) { lnknext.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1); } //上一页 if (!objPds.IsFirstPage) { lnkprev.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1); } //第一页 if (CurPage != 1) { lnkfist.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(1); } //最后一页 if (CurPage != objPds.PageCount) { lnklast.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(objPds.PageCount); } //绑定gridview if (this.gridview != null) { gridview.DataSource = objPds; gridview.DataBind(); } //绑定datalist if (this.datalist != null) { datalist.DataSource = objPds; datalist.DataBind(); } //绑定repeater if (this.repeater != null) { repeater.DataSource = objPds; repeater.DataBind(); } } //重载,针对执行sqlstr public void datapage(string sqlcon, string sqlstr, int pagenum) { SqlConnection objConn = new SqlConnection(sqlcon); SqlDataAdapter objCommand = new SqlDataAdapter(sqlstr, objConn); DataSet ds = new DataSet(); objCommand.Fill(ds); PagedDataSource objPds = new PagedDataSource(); objPds.AllowPaging = true; //每页显示数目 objPds.PageSize = pagenum; //指定数据源 objPds.DataSource = ds.Tables[0].DefaultView; int CurPage; //绑定dropdownlist数据 for (int i = 1; i <= objPds.PageCount; i++) { this.list.Items.Add(i.ToString()); } this.list.Items.Insert(0, new ListItem("页数", "")); //确定当前页数 if (System.Web.HttpContext.Current.Request.Params["Page"] != null) { CurPage = Convert.ToInt32(System.Web.HttpContext.Current.Request.Params["Page"]); } else { CurPage = 1; } objPds.CurrentPageIndex = CurPage - 1; if (objPds.PageCount > 1) { pagedPanel.Visible = true; } else { pagedPanel.Visible = false; } //显示当前页数 this.pagenum.Text = "当前:" + "第" + CurPage.ToString() + "页"; //显示总共页数 this.pagecount.Text = "共有" + objPds.PageCount + "页"; //下一页 if (!objPds.IsLastPage) { lnknext.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage + 1); } //上一页 if (!objPds.IsFirstPage) { lnkprev.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(CurPage - 1); } //第一页 if (CurPage != 1) { lnkfist.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(1); } //最后一页 if (CurPage != objPds.PageCount) { lnklast.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(objPds.PageCount); } //绑定gridview if (this.gridview != null) { gridview.DataSource = objPds; gridview.DataBind(); } //绑定datalist if (this.datalist != null) { datalist.DataSource = objPds; datalist.DataBind(); } //绑定repeater if (this.repeater != null) { repeater.DataSource = objPds; repeater.DataBind(); } } //dropdownlist选择改变 public void select() { this.lnkjump.NavigateUrl = System.Web.HttpContext.Current.Request.CurrentExecutionFilePath + "?Page=" + Convert.ToString(this.list.SelectedItem.Value); } } } |
相关文章推荐
- GridView,DataList,Repeater控件应用技巧
- ASP.NET 2.0 的数据绑定控件概述与区别(GridView、DetailsView、FormView 、Repeater、DataList)
- C#入门(八)—GridView控件的应用技巧
- Gridview,datalist,repeater数据绑定控件使用说明
- DropDownList ListBox GridView DataList Repeater FormView DetailsView 数据绑定控件详解
- 数据绑定控件收藏 DropDownList ListBox GridView DataList Repeater FormView DetailsView
- AspNetPager.dll分页控件绑定gridview,datalist,repeater
- 数据绑定控件收藏 DropDownList ListBox GridView DataList Repeater FormView DetailsView
- ASP.NET 2.0 的数据绑定控件概述与区别(GridView、DetailsView、FormView 、Repeater、DataList)
- 关于GridView,DataList,Repeater控件的嵌套使用
- .NET 数据控件大全 GridView,DataList,DetailsView,FormView,ListView,Repeater,DataPager
- gridview,datalist,repeater控件使用
- gridview,datalist,repeater控件使用
- ASP.NET 2.0 的数据绑定控件概述与区别(GridView、DetailsView、FormView 、Repeater、DataList)
- 数据绑定控件Repeater/GridView/DataList在前台显示正确的文本格式收藏
- GridView,DataList,Repeater 控件区别
- ASP.NET 2.0 的数据绑定控件概述与区别(GridView、DetailsView、FormView 、Repeater、DataList)
- ASP.NET 数据控件:GridView,DataList,Repeater ,DetailsView,FormView。
- 数据绑定控件收藏 DropDownList ListBox GridView DataList Repeater FormView DetailsView
- gridview,repeater,datalist等从后台获取前台控件的ID——总结