Spread for ASP.NET 表格控件:定制分组行头显示分组信息

发布时间:2013/11/24 00:11 发布者:iceman

返回博客中心

Spread for ASP.NET 表格控件提供了内置的分组功能。允许用户拖拽列头到分组区域进行分组。分组行头默认显示分组的列索引及分组的唯一值。

本篇文章将讨论如何定制分组行头文本来显示分组中包含的行数。

实现方法

这个用例实现起来十分的简单。我们所要做的是循环表单中所有非空行,通过 IsGroup 方法判断是否为分组行,如果是,则获取其相关信息:

  1: private void CalculateGroups(object sender)
  2: {
  3:    FarPoint.Web.Spread.FpSpread ss = (FarPoint.Web.Spread.FpSpread)sender;
  4:    FarPoint.Web.Spread.Model.GroupDataModel gm;
  5:    int total;
  6:    int column = 0;
  7:    int y = 0;
  8:    gm = (FarPoint.Web.Spread.Model.GroupDataModel)ss.ActiveSheetView.DataModel;
  9:   
 10:    for (int i = 0; i < ss.ActiveSheetView.NonEmptyRowCount; i++)
 11:    {
 12:      if (gm.IsGroup(i))
 13:       {
 14:         FarPoint.Web.Spread.Model.Group g;
 15:         g = gm.GetGroup(i);
 16:         g.Expanded = false;
 17:         total = 0;
 18:         total = g.Rows.Count;
 19:         column = g.Column;
 20:   
 21:         string s = gm.TargetModel.GetValue(getRow(g), column).ToString();
 22:         s = column.ToString() + ":" + s;
 23:         g.Text = s + " (" + total.ToString() + ")";
 24:       }
 25:    }
 26: }
 27:   
 28: int getRow(FarPoint.Web.Spread.Model.Group group)
 29: {
 30:   if (group.Rows[0] is FarPoint.Web.Spread.Model.Group) return getRow(group.Rows[0] as FarPoint.Web.Spread.Model.Group);
 31:       return (int)group.Rows[0];
 32: }

 

效果图:

Output

Demo 下载:

VS2010 + Framework + C# + Spread for ASP.NET 7.0V2 点击下载

VS2010 + Framework + VB.NET + Spread for ASP.NET 7.0V2 点击下载


关于葡萄城

赋能开发者!葡萄城是专业的集开发工具、商业智能解决方案、低代码开发平台于一身的软件和服务提供商,为超过 75% 的全球财富 500 强企业提供服务。葡萄城专注控件软件领域30年,希望通过模块化的开发控件、灵活的低代码应用开发平台等一系列开发工具、解决方案和服务,帮助开发者快速响应复杂多变的业务需求,最大程度地发挥开发者的才智和潜能,让开发者的 IT 人生更从容更美好。

了解详情,请访问葡萄城官网