有些朋友向我提出,怎样使编辑状态下的单元格文本垂直居中显示。Spread 表格控件单元格有两种状态,编辑状态和普通显示状态。在显示状态下,我们可以通过单元格的格式相关属性来设置单元格样式、对齐方式。该功能我们需要通过自定义单元格方式实现。
实现该功能的核心代码如下:
1: public override Control GetEditorControl(Control parent, FarPoint.Win.Spread.Appearance appearance, float zoomFactor) 2: { 3: TextBox tb = new TextBox(); 4: FarPoint.Win.Spread.FpSpread spread = parent as FarPoint.Win.Spread.FpSpread; 5: float height = spread.Sheets[0].ActiveRow.Height; 6: float width = spread.Sheets[0].ActiveColumn.Width; 7: tb.Width = (int)width; 8: tb.Location = new Point(0, (int)(height / 2 - tb.Height / 2) + 2); 9: tb.Text = spread.Sheets[0].ActiveCell.Text; 10: uc = new MyEditorControl(tb); 11: uc.Height = (int)height; 12: uc.Width = (int)width; 13: return uc; 14: }
自定义单元格编译器由 TextBox 和 UserControl 组成。我们可以通过调整 TextBox 的位置来实现输入时文本居中。主要是通过获取当前编辑单元格的大小,来设置自定义编辑器的大小,从而确定 TextBox 的位置。
在设置单元格内容之后,我们通过以下代码返回单元格值:
1: public override object GetEditorValue() 2: { 3: return uc.Tb.Text; 4: }
基于 UserControl 实现的自定义编辑器代码如下:
1: public partial class MyEditorControl : UserControl 2: { 3: TextBox tb; 4: 5: public MyEditorControl(TextBox tb1) 6: { 7: this.BackColor = Color.White; 8: tb = tb1; 9: tb.BorderStyle = System.Windows.Forms.BorderStyle.None; 10: this.Controls.Add(tb); 11: } 12: public TextBox Tb 13: { 14: get { return tb; } 15: set { tb = value; } 16: } 17: }
效果图:
源码下载:VS 2010 + Spread Studio .NET 7 + .NET 4.0:点击下载
使用控件查看地址:点击查看
相关推荐
"Spread for WinForm 5 中文版 Demo 源码" 是一款专为Windows Forms应用程序设计的组件,它提供了一套强大的电子表格功能,让用户可以在WinForm应用中创建、编辑和展示复杂的电子表格数据。这款组件是 GrapeCity ...
Spread Studio for强大的报表功能,这是Spread Studio for使用说明书,看了肯定能帮到你。
.NET平台最流行的表格控件Spread for Windows Forms5.0的完整中文手册,包括: (1)开发指南:为Spread for Windows Forms的开发人员提供了概念性介绍材料和常规任务的操作说明。 该指南描述了一个应用程序开发者...
Spread Studio for .NET 试用版 试用版 开发语言: .NET 可用平台: Visual Studio 2008/2010/2012/2013 当前版本: 9.0 Studio for .NET是一个功能和Excel类似的表格控件工具包。用于在您的应用系统中实现表格数据...
这是Spread for WinForms V7.0 API中文文档。里面记载很详细,很方便开发!
Flexcell和spread studio for .net两种表格控件的对比
本文档专为国内广大开发者写作而成,通过大家最熟悉的语言和文化帮助您快速查找和理解Spread众多API的使用方法。文档提供接口和参数描述,同时提供大量例子和代码片段,以方便您了解产品的易用性、扩展性和灵活性。
标题“spreadjs_判断当前单元格是否为富文本-demo.zip”和描述“spreadjs_判断当前单元格是否为富文本-demo”所涉及的核心知识点是使用SpreadJS库来检测电子表格中的单元格是否含有富文本。SpreadJS是一款强大的...
- **产品名称**:Spread Studio for .NET 表格控件 V7.0 - **适用平台**:适用于微软 .NET 平台下的 Windows Forms、ASP.NET、WPF、Silverlight 和 WinRT 应用程序开发。 - **功能特点**: - 集成了丰富的表格功能...
**Spread for Windows Forms 5.0** 是一款强大的表格控件,专为Windows Forms应用程序设计。这个控件允许开发者在应用程序中嵌入功能丰富的电子表格,类似于Microsoft Excel的功能,但可自定义并集成到自己的软件...
本文将介绍如何使用 Vue、SpringBoot 和 SpreadJS 这三款技术栈来构建一个具备在线文档功能的应用。在线文档系统允许用户在浏览器中创建、编辑和保存Excel文件,支持多人协作,提供类似Excel的用户体验,并能与其他...
《SpreadJS:自定义单元格实现层级树结构详解》 SpreadJS是一款强大的JavaScript电子表格库,它提供了丰富的功能,使得开发者能够轻松地在Web应用中实现类似Excel的表格操作。在"spreadjs_自定义单元格实现层级树-...
《SpreadJS:实现单次打印部分工作表的深入解析》 SpreadJS 是一款强大的JavaScript电子表格库,由 GrapeCity 公司开发,它提供了一系列功能,使得在Web应用中创建、编辑和展示复杂的电子表格数据变得轻而易举。本...
本文档专为国内广大开发者写作而成,通过大家最熟悉的语言和文化帮助您快速查找和理解Spread众多API的使用方法。文档提供接口和参数描述,同时提供大量例子和代码片段,以方便您了解产品的易用性、扩展性和灵活性。 ...
Spread for WinForms表格控件 V7.0 是一款强大的表格控件,专门用于微软.NET平台下的Windows Forms、***、WPF、Silverlight和WinRT应用程序开发。该控件提供了一个综合的、功能丰富的表格功能集合,能够实现工作表...
《Spread for ASP.NET V7.0 API文档》是针对ASP.NET开发者的重要参考资料,它详尽地阐述了如何在Web应用程序中使用Spread组件进行高效、灵活的表格操作。 Spread组件是 GrapeCity 公司开发的一款强大的表格控件,...