文章出處
文章列表
Studio for ASP.NET Wijmo 控件值得稱贊的一點是它不僅僅單獨為 C1 控件而開發。還可以配合其他控件使用,也正體現了C1控件為提高開發人員工作效率而設計的宗旨。簡單的舉一個例子,例如 C1Pager 就可以和 DataList 配合使用實現分頁功能。
先上效果圖:
實現方法:
首先,我們需要設置 DataList 的數據源,在這個例子中我們使用OleDb 數據源創建DataSet。實現這個功能比較重要的一點是一旦生成數據源,我們需要把它同時賦值給C1Pager PagedDataSource 類。需要為每個頁面設置頁碼。以下為實現代碼:
1: OleDbDataAdapter dadapter;2: DataSet dset;3: PagedDataSource adsource;4: string connstring = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + System.Web.HttpContext.Current.Server.MapPath("~/App_Data/NWIND.mdb") + ";Persist Security Info=False";5: int pos;
6: int pageCount = 0;
7:8: protected void Page_Load(object sender, EventArgs e)9: {10: if (!IsPostBack)
11: {12: this.ViewState["vs"] = 0;
13: }14: pos = (int)this.ViewState["vs"];15: DataBind();16: C1Pager1.PageCount = pageCount;17: C1Pager1.Mode = C1.Web.Wijmo.Controls.C1Pager.PagerMode.Numeric;18: }
以下是 DataBind 方法的實現代碼:
1: public void DataBind()
2: {3: dadapter = new OleDbDataAdapter("SELECT TOP 20 CompanyName, City, Country FROM Customers", connstring);
4: dset = new DataSet();5: adsource = new PagedDataSource();6: dadapter.Fill(dset);7: adsource.DataSource = dset.Tables[0].DefaultView;8: adsource.PageSize = 5;9: adsource.AllowPaging = true;10: adsource.CurrentPageIndex = pos;11: DataList1.DataSource = adsource;12: DataList1.DataBind();13: pageCount = Convert.ToInt32(dset.Tables[0].Rows.Count / adsource.PageSize);14: }
接下來需要通過 C1Pager 的點擊實現為 DataList 切換數據,實現分頁效果:
1: protected void C1Pager1_PageIndexChanged(object sender, EventArgs e)2: {3: int currPage = C1Pager1.PageIndex;
4: pos = (int)this.ViewState["vs"];5: pos += currPage;6: this.ViewState["vs"] = pos;
7: DataBind();8: pos = 0;9: this.ViewState["vs"] = 0;
10: }
好了,通過以上步驟我們就結合 C1Pager 和 DataList 實現了完美的真分頁。每次點擊C1Pager頁碼時都會回調后臺的DataBind方法來刷新DataList的數據。以下是示例,趕快下載體驗吧:
VS2010+Framework 4.0 + C# 點擊下載
VS2010+Framework 4.0 + VB.NET 點擊下載
下載 Stduio for ASP.NET Wijmo 產品請進入:
http://www.gcpowertools.com.cn/products/componentone_studio_asp.htm
文章列表
全站熱搜