表格控件 Spread WPF-Silverlight 实现 Excel 自动行高列宽功能

在 Excel 中有一个功能就是可以设置行和列的自适应高和宽度的功能,用户修改数据之后单元格所在行的行高和所在列的列宽会根据内容进行自动调整,本文主要讲解如何在表格控件 Spread WPF-Silverligh 中实现以上自适应功能。

发布于 2013/05/09 00:00

在 Excel 中有一个功能就是可以设置行和列的自适应高和宽度的功能,用户修改数据之后单元格所在行的行高和所在列的列宽会根据内容进行自动调整,本文主要讲解如何在表格控件 Spread WPF-Silverligh 中实现以上自适应功能。

我们主要是利用 Spread  的EditEnd事件和 AutoFitRow、AutoFitColumn 方法,代码如下:

        public MainPage()
        {
            InitializeComponent();
            // 添加 Ctrl + Enter 快捷键输入换行符的功能
            this.gcSpreadSheet1.View.KeyMap.Remove(new GrapeCity.Windows.SpreadSheet.UI.KeyStroke(Key.Enter,ModifierKeys.Control));
            this.gcSpreadSheet1.View.KeyMap.Add(new GrapeCity.Windows.SpreadSheet.UI.KeyStroke(Key.Enter,ModifierKeys.Control),SpreadActions.InputNewLine);
            // 添加 Spread 编辑结束事件,并处理编辑单元格所在行的行高和所在列的列宽
            this.gcSpreadSheet1.EditEnd += new EventHandler<GrapeCity.Windows.SpreadSheet.UI.EditCellEventArgs>(gcSpreadSheet1_EditEnd);
            #region 数据源
            List<CItem> list = new List<CItem>();
            list.Add(new CItem(1));
            list.Add(new CItem(2));
            list.Add(new CItem(3));
            list.Add(new CItem(4));
            list.Add(new CItem(5));
            list.Add(new CItem(6));
            list.Add(new CItem(7));
            list.Add(new CItem(8));
            list.Add(new CItem(9));
            list.Add(new CItem(10));
            this.gcSpreadSheet1.ActiveSheet.DataSource = list;
            #endregion
        }
        void gcSpreadSheet1_EditEnd(object sender, GrapeCity.Windows.SpreadSheet.UI.EditCellEventArgs e)
        {
            this.gcSpreadSheet1.AutoFitRow(e.Row);
            this.gcSpreadSheet1.AutoFitColumn(e.Column);
        }

运行截图:

1015_表格控件自适应

源码下载:VS2010 + Silverlight 5.0 + Spread WPF-Silverlight

关于葡萄城

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

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

关注“葡萄城社区”

加微信获取技术资讯

加微信获取技术资讯

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