全部展开/折叠分组信息

发布时间:2012/11/14 00:11 发布者:葡萄城产品团队

返回博客中心

Spread for ASP.NET 6.0 中提供了分组的功能,用户可以将某列拖动到分组栏中,以此来实现对数据的分组现实。

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

首先,初始化 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)

关于葡萄城

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

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