全部展开/折叠分组信息

Spread for ASP.NET 6.0 中提供了分组的功能,用户可以将某列拖动到分组栏中,以此来实现对数据的分组现实。在某些时候,为了用户操作方便,我们希望一次性的展开所有分组,或者折叠所有分组,这时候我们可以通过下面的代码来实现该功能:

发布于 2012/11/14 00:00

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;
                }
            }
        }
复制代码
运行截图:

(7.87 K, 下载次数:2)

关于葡萄城

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

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

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

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