Wijmo 更優美的jQuery UI部件集:運行時處理Wijmo GridView數據操作


C1GridView具有很多內置的功能,比如排序過濾分頁以及分組

image

對於開發者來說,這些都是很有用的功能,因為它們可以節省大量通過代碼實現這些能力的時間。
無論如何,開發人員不一定非要將其在設計時綁定到一個數據源。實際上,在大多數情況下,數據是動態綁定的。

本文討論了當C1GridView動態綁定數據時如何實現排序,過濾分頁以及分組。

綁定C1GridView

C1GridView可以綁定到一個ADO.NET數據源,比如說DataSet,DataTable等等。對於本示例,我們將grid綁定到C1NWind.mdb數據庫文件的“Customers”表上。

public DataSet BindGrid()

{

    OleDbConnection con = new OleDbConnection("provider=Microsoft.Jet.Oledb.4.0; Data Source=" + Server.MapPath("~/App_Data/C1NWind.mdb"));

    OleDbDataAdapter da;

    DataSet ds = new DataSet();

    da = new OleDbDataAdapter("Select * from Customers", con);

    da.Fill(ds);

    return ds;

}

protected void Page_Load(object sender, EventArgs e)

{

    if (!IsPostBack)

    {

        C1GridView1.DataSource = BindGrid();

        C1GridView1.DataBind();

    }

}

 

 

處理C1GridView事件

排序
為了實現排序,我們需要處理Sorting以及Sorted事件。Grid會在Sorted事件中被重新綁定。

protected void C1GridView1_Sorting(object sender, C1.Web.Wijmo.Controls.C1GridView.C1GridViewSortEventArgs e)

{

}

//處理 Sorting

protected void C1GridView1_Sorted(object sender, EventArgs e)

{

    C1GridView1.DataSource = BindGrid();

    C1GridView1.DataBind();

}

 

 

過濾
處理過濾的代碼和處理排序的邏輯完全相同。我們需要處理Filtering 以及Filtered事件。

protected void C1GridView1_Filtering(object sender, C1.Web.Wijmo.Controls.C1GridView.C1GridViewFilterEventArgs e)

{

}

//處理Filtering

protected void C1GridView1_Filtered(object sender, EventArgs e)

{

    C1GridView1.DataSource = BindGrid();

    C1GridView1.DataBind();

}

 

 

分頁
處理分頁的邏輯和處理排序和過濾得邏輯有一點點不同。我們只需要處理Paging事件。首先將G1GridView的PageIndex設置為NewPageIndex,然后就像我們之前所作的那樣,對grid進行重新綁定。

protected void C1GridView1_PageIndexChanging(object sender, C1.Web.Wijmo.Controls.C1GridView.C1GridViewPageEventArgs e)

{

    C1GridView1.PageIndex = e.NewPageIndex;

    C1GridView1.DataSource = BindGrid();

    C1GridView1.DataBind();

}

 

 

分組
為了對C1GridView進行分組,需要將AllowColMoving以及ShowGroupArea屬性設置為true。我們還需要處理ColumnGrouped以及ColumnUngrouped事件,並且將ColumnUngrouped事件留空。然而,在ColumnGrouped事件中,我們必須重新綁定grid。不同的是,這次我們需要添加一個參數,這個參數就是正在被拖拽或者分組的列的HeaderText。這個參數首先被用來按照該列進行排序,之后應用分組,以確保不會創建重復分組。

//處理 Column Grouping

protected void C1GridView1_ColumnGrouped(object sender,   C1.Web.Wijmo.Controls.C1GridView.C1GridViewColumnGroupedEventArgs e)

{

    C1GridView1.DataSource = BindGrid(e.Drag.HeaderText);

    C1GridView1.DataBind();

}

//處理Column UnGrouping

protected void C1GridView1_ColumnUngrouped(object sender, C1.Web.Wijmo.Controls.C1GridView.C1GridViewColumnUngroupedEventArgs e)

{

}

 

 image

下載示例

 

Wijmo下載,請進入Studio for ASP.NET Wijmo 2012 v1正式發布(2012.03.22更新)!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM