Studio for ASP.NET Wijmo:C1GridView 运行时操作数据

C1GridView 拥有很多内置且实用的功能例如排序、过滤、分页和分组。 只需简单的设置属性即可实现这些功能,可以大大节省开发人员的时间。C1GridView在设计时实现上述功能是十分简单的,只需要设置相应属性为 true 即可。但是,一些用例中开发人员需要在运行时来绑定数据,再实现这些功能。本文即将讨论在动态绑定数据源时,如何通过代码实现以上功能。绑定 C1GridViewC1GridView 可以绑定到 ADO.NET 数据源,例如 DataSet,DataTable等。以下是绑定‘Customers’ 数据表到 C1GridView 的代码。

发布于 2014/03/23 00:00

ComponentOne Enterprise

C1GridView 拥有很多内置且实用的功能例如排序、过滤、分页和分组。 只需简单的设置属性即可实现这些功能,可以大大节省开发人员的时间。
C1GridView在设计时实现上述功能是十分简单的,只需要设置相应属性为 true 即可。但是,一些用例中开发人员需要在运行时来绑定数据,再实现这些功能。

本文即将讨论在动态绑定数据源时,如何通过代码实现以上功能。

绑定 C1GridView

C1GridView 可以绑定到 ADO.NET 数据源,例如 DataSet,DataTable等。以下是绑定‘Customers’ 数据表到 C1GridView 的代码。

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 事件

排序
实现排序功能,我们需要操作 SortingSorted 事件,在 Sorted 事件中需要重新绑定数据源。

protected void C1GridView1_Sorting(object sender, C1.Web.Wijmo.Controls.C1GridView.C1GridViewSortEventArgs e)
{
}
//Handles Sorting
protected void C1GridView1_Sorted(object sender, EventArgs e)
{
    C1GridView1.DataSource = BindGrid();
    C1GridView1.DataBind();
}

 

过滤
实现过滤功能,我们需要操作 FilteringFiltered 事件,在 Filtered 事件中需要重新绑定数据源。

protected void C1GridView1_Filtering(object sender, C1.Web.Wijmo.Controls.C1GridView.C1GridViewFilterEventArgs e)
{
}
//Handles Filtering
protected void C1GridView1_Filtered(object sender, EventArgs e)
{
    C1GridView1.DataSource = BindGrid();
    C1GridView1.DataBind();
}

 

分页
分页的代码和排序、过滤稍有不同。我们需要操作 Paging 事件。首先,设置NewPageIndex 属性为当前的PageIndex ,同时,也需要重新绑定数据源。

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 事件,我们需要在 ColumnGrouped 事件中通过事件参数来重现绑定数据源。参数的 HeaderText 属性是拖拽列的列头文本。参数首先用于排序该列,然后实现分组,这样可以避免重复分组。

//操作列分组
protected void C1GridView1_ColumnGrouped(object sender,   C1.Web.Wijmo.Controls.C1GridView.C1GridViewColumnGroupedEventArgs e)
{
    C1GridView1.DataSource = BindGrid(e.Drag.HeaderText);
    C1GridView1.DataBind();
}
  
//取消列分组
protected void C1GridView1_ColumnUngrouped(object sender, C1.Web.Wijmo.Controls.C1GridView.C1GridViewColumnUngroupedEventArgs e)
{
}

 

Demo 下载:

 

更多关于 C1GridView 表格控件的信息,请参考:

http://www.grapecity.com.cn/developer/c1_asp_gridview.htm

关于葡萄城

葡萄城是专业的软件开发技术和低代码平台提供商,以“赋能开发者”为使命,致力于通过表格控件、低代码和BI等各类软件开发工具和服务,一站式满足开发者需求,帮助企业提升开发效率并创新开发模式。葡萄城开发技术始于1980年,40余年来始终聚焦软件开发技术,有深厚的技术积累和丰富的产品线。是业界能够同时赋能软件开发和低代码开发的企业。凭借过硬的产品能力、活跃的用户社区和丰富的伙伴生态,与超过3000家合作伙伴紧密合作,产品广泛应用于信息和软件服务、制造、交通运输、建筑、金融、能源、教育、公共管理等支柱产业。

相关产品
推荐相关案例
关注微信
葡萄城社区二维码

关注“葡萄城社区”

活字格低代码二维码

关注“活字格低代码”

想了解更多信息,请联系我们, 随时掌握技术资源和产品动态