找回密码
 立即注册

QQ登录

只需一步,快速开始

ZenosZeng 讲师达人认证 悬赏达人认证
超级版主   /  发表于:2012-11-6 13:11  /   查看:5475  /  回复:0
Spread for ASP.NET 6.0 中提供了分组的功能,用户可以将某列拖动到分组栏中,以此来实现对数据的分组现实。

在某些时候,为了用户操作方便,我们希望一次性的展开所有分组,或者折叠所有分组,这时候我们可以通过下面的代码来实现该功能:

首先,初始化 Spread 控件:
  1.         protected void Page_Load(object sender, EventArgs e)
  2.         {
  3.             if (IsPostBack)
  4.             {
  5.                 return;
  6.             }
  7.             FpSpread1.ActiveSheetView.AllowPage = false;
  8.             FpSpread1.ActiveSheetView.RowCount = 10;
  9.             FpSpread1.ActiveSheetView.ColumnCount = 50;
  10.             FpSpread1.ActiveSheetView.AllowGroup = true;

  11.             FarPoint.Web.Spread.GroupInfo gi = new FarPoint.Web.Spread.GroupInfo();
  12.             gi.BackColor = Color.LightSkyBlue;
  13.             
  14.             FarPoint.Web.Spread.GroupInfo gi2 = new FarPoint.Web.Spread.GroupInfo();
  15.             gi2.BackColor = Color.LightGoldenrodYellow;

  16.             FpSpread1.ActiveSheetView.GroupInfos.Add(gi);
  17.             FpSpread1.ActiveSheetView.GroupFooterInfos.Add(gi2);

  18.             FpSpread1.ActiveSheetView.GroupFooterVisible = true;
  19.             FpSpread1.ActiveSheetView.GroupBarVisible = true;
  20.             FpSpread1.ActiveSheetView.GroupBarHeight = 50;
  21.             FpSpread1.ActiveSheetView.GroupBarText = "将列拖拽到这里进行分组!";

  22.             FpSpread1.ActiveSheetView.Cells[0, 0, 3, 0].Value = 1;
  23.             FpSpread1.ActiveSheetView.Cells[0, 1, 1, 1].Value = 1;
  24.             FpSpread1.ActiveSheetView.Cells[2, 1, 3, 1].Value = 2;
  25.             FpSpread1.ActiveSheetView.Cells[4, 0, 7, 0].Value = 2;
  26.             FpSpread1.ActiveSheetView.Cells[8, 0, 9, 0].Value = 3;

  27.         }
复制代码


添加“全部展开”和“全部折叠”功能的代码:
  1.         protected void Button1_Click(object sender, EventArgs e)
  2.         {
  3.             ExpandAll(true);
  4.         }

  5.         protected void Button2_Click(object sender, EventArgs e)
  6.         {
  7.             ExpandAll(false);
  8.         }

  9.         private void ExpandAll(bool expanded)
  10.         {
  11.             FarPoint.Web.Spread.Model.GroupDataModel gdm = FpSpread1.ActiveSheetView.DataModel as FarPoint.Web.Spread.Model.GroupDataModel;
  12.             if (gdm != null)
  13.             {
  14.                 foreach (FarPoint.Web.Spread.Model.Group item in gdm.Groups)
  15.                 {
  16.                     item.Expanded = expanded;
  17.                 }
  18.             }
  19.         }
复制代码

运行截图:

2012-11-6 19-45-22.png (51.71 KB, 下载次数: 188)

0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部