在某些时候,为了用户操作方便,我们希望一次性的展开所有分组,或者折叠所有分组,这时候我们可以通过下面的代码来实现该功能:
首先,初始化 Spread 控件:
protected void Page_Load(object sender, EventArgs e) { if (IsPostBack) { return; } FpSpread1.ActiveSheetView.AllowPage = false; FpSpread1.ActiveSheetView.RowCount = 10; FpSpread1.ActiveSheetView.ColumnCount = 50; FpSpread1.ActiveSheetView.AllowGroup = true; FarPoint.Web.Spread.GroupInfo gi = new FarPoint.Web.Spread.GroupInfo(); gi.BackColor = Color.LightSkyBlue; FarPoint.Web.Spread.GroupInfo gi2 = new FarPoint.Web.Spread.GroupInfo(); gi2.BackColor = Color.LightGoldenrodYellow; FpSpread1.ActiveSheetView.GroupInfos.Add(gi); FpSpread1.ActiveSheetView.GroupFooterInfos.Add(gi2); FpSpread1.ActiveSheetView.GroupFooterVisible = true; FpSpread1.ActiveSheetView.GroupBarVisible = true; FpSpread1.ActiveSheetView.GroupBarHeight = 50; FpSpread1.ActiveSheetView.GroupBarText = "将列拖拽到这里进行分组!"; FpSpread1.ActiveSheetView.Cells[0, 0, 3, 0].Value = 1; FpSpread1.ActiveSheetView.Cells[0, 1, 1, 1].Value = 1; FpSpread1.ActiveSheetView.Cells[2, 1, 3, 1].Value = 2; FpSpread1.ActiveSheetView.Cells[4, 0, 7, 0].Value = 2; FpSpread1.ActiveSheetView.Cells[8, 0, 9, 0].Value = 3; } 复制代码添加“全部展开”和“全部折叠”功能的代码:
protected void Button1_Click(object sender, EventArgs e) { ExpandAll(true); } protected void Button2_Click(object sender, EventArgs e) { ExpandAll(false); } private void ExpandAll(bool expanded) { FarPoint.Web.Spread.Model.GroupDataModel gdm = FpSpread1.ActiveSheetView.DataModel as FarPoint.Web.Spread.Model.GroupDataModel; if (gdm != null) { foreach (FarPoint.Web.Spread.Model.Group item in gdm.Groups) { item.Expanded = expanded; } } } 复制代码运行截图:
源码下载:VS2010 + Spread .NET 6.0
- 6777_Group.zip (7.87 K, 下载次数:2)