用户如何与其实行互动,三个单元格类型包涵二个editor

单元格类型定义了在单元格中显现的音信的花色,以及那种音信怎样体现,用户怎么着与其展开相互。单元格类型能够被赋给单个的单元格,整行或然整列。

明亮单元格类型基本音讯

用户能够选取二种分歧的单元格类型对表单中的单元格进行安装:
一种是能够省略地关乎于单元格的文本格式,另一种正是显得控件只怕图形化新闻。大家在本篇介绍常用的公文单元格类型,下一篇介绍常用的图纸单元格类型。

Spread帮衬几十种单元格类型,如复选框单元格、日期时间单元格、只怕三个大约的文件单元格。单元格类型能够对单独的单元格、列、行、1个单元格区域,甚至是百分百表单举行安装。单元格类型决定了用户与单元格交互的主意,包蕴什么对数据开始展览走访、展现和校验等。单元格类型为单元格定义了3个editor用以处理输入数据,二个formatter用以分析和格式化数据,还有2个render用以控制单元格的数量怎么样体现。

通用单元格GeneralCellType

对于表单中的单元格而言,通用单元格是暗许的单元格类型。
除非你钦命了别样的单元格类型,控件经常会暗许将通用单元格类型赋给单元格。通用单元格能够被用来作为键入文本或数字的单元格,在那边格式并不重庆大学依然那里的数据类型不借助于于特定的数据类型。

上面包车型地铁演示将二个单元格设为一个通用单元格。

FarPoint.Win.Spread.CellType.GeneralCellType gnrlcell =new FarPoint.Win.Spread.CellType.GeneralCellType();

fpSpread1.ActiveSheet.Cells[1, 1].CellType = gnrlcell;

  

Editor,Formatter,以及 Renderer

文本单元格TextCellType

由此代码设置文本单元格的大旨步骤和示范代码如下:

透过创立三个 TextCellType 类的实例定义2个文书单元格。

设置文本单元格的习性。

当用户输入不可用时创设3个出示给用户的音讯。

因而设置1个单元格,单元格范围,一行,一列,也许样式的CellType属性为TextCellType
对象,将文件单元格类型赋给二个单元格或然一组单元格。

FarPoint.Win.Spread.CellType.TextCellType tcell =new FarPoint.Win.Spread.CellType.TextCellType();

tcell.CharacterCasing = CharacterCasing.Upper;

tcell.CharacterSet = FarPoint.Win.Spread.CellType.CharacterSet.Ascii;

tcell.MaxLength =30;

tcell.Multiline =true;

fpSpread1.ActiveSheet.Cells[0, 0].Text ="This is a text cell. ";

fpSpread1.ActiveSheet.Cells[0, 0].CellType = tcell;

  

三个单元格类型包蕴二个editor,1个renderer,以及三个formatter。editor负责在编辑格局中,创造和控制单元格编辑控件。formatter负责转换单元格的值,转化为文本只怕从文本格式进行转换,(举例来说,当获得大概设置3个单元格的Text属性)。renderer负责绘制单元格(此时单元格不处于编辑形式)。

数字单元格NumberCellType

在超越二分之一情状下,你想要此单元格无论是或不是在编排格局,在外观上来看都以一样。在那种情状下,你只要求创设单一的单元格类型,并且将其设置为单元格的CellType属性。这种单纯的单元格类型被用来成立单元格的editor,renderer,以及formatter。借使您想要依据是还是不是居于编辑格局来进展分化的外观展现,那么您将要创造三种单元格类型并且将一种单元格作为单元格editor的种类,其余一种设为单元格renderer的品类。你只怕也想将一种单元格类型赋给单元格formatter.
更加多相关音讯,请参阅ICellType 接口。

安装精度

典型的状态是,数字运用双精度浮点数进行测算和存款和储蓄,那样精度大概在1多少个数位左右。
单元格能够依照需要格式化为分歧的小数位数。
例如,下列的代码能够总括单元格区域A1到A5的区域的值的总数,并且将结果展现在A6单元格中
存款和储蓄在A6单元格中的数值将会有足够的精确度(达到了双精度浮点数的上限),可是来得在A6单元格中的文本将会取为其多年来的一位小数的值。

NumberCellType nmbcell =new NumberCellType();

nmbcell.DecimalPlaces =1;

fpSpread.Sheets[0].Cells[5,0].CellType = ct; fpSpread.Sheets[0].Cells[5,0].Formula ="SUM(A1:A5)";

  

EditBaseCellType

格式化若干数字

属性

描述

DecimalPlaces

在数字的显示中设置小数的位数。

DecimalSeparator

获取或设置小数点分隔符。

FixedPoint

对定点数的显示来说,在数字的小数部分设置是否将零显示为占位符。

LeadingZero

获取或设置是否显示前导的零。

MaximumValue

获取或设置用户可以输入的最大值。

MinimumValue

获取或设置用户可以输入的最小值。

NegativeFormat

获取或设置负数的格式如何进行显示。

NegativeRed

获取或设定负数是否显示为红色。

OverflowCharacter

如果数字不符合显示的宽度,获取和设置替换数据的显示字符。

Separator

获取或设置用于分割千以上的数值的字符。

ShowSeparator

获取或设置是否显示千位分隔符。

上边包车型大巴以身作则通过应用预先定义的格式化属性指派 NumberCellType
对象,对某些单元格设置成为富有某种格式的数字单元格。

FarPoint.Win.Spread.CellType.NumberCellType nmbrcell =new FarPoint.Win.Spread.CellType.NumberCellType();

nmbrcell.DecimalSeparator =",";

nmbrcell.DecimalPlaces =5;

nmbrcell.LeadingZero = FarPoint.Win.Spread.CellType.LeadingZero.UseRegional;

nmbrcell.MaximumValue =500.000;

nmbrcell.MinimumValue =-10.000;

fpSpread1.ActiveSheet.Cells[1, 1].CellType = nmbrcell;

  

单元格编辑的统一筹划须要单元格类型重返单元格之上的editor控件。单元格的editor控件可以以文件作为基础
(例如文本框)或许以图表为根基(例如复选框)。editor控件能够拓展下拉列表(例如组合框)或然弹出对话框(例如日期选拔器)。艾德itBaseCellType类是那样一体系,它是停放的以文件为底蕴的单元格类型(比如,一般音讯,文本,数字,日期,等等)的来源于。那些类也得以导出文本类型的自定义单元格类型。ISub艾德itor接口能够用来将以文件为底蕴的单元格editor和下拉列表联系起来(例如复选框)可能弹出对话框(例如日期/选用框)。数据模型能够享有数量,包罗颜色。单元格类型平日在数据模型中传递原始数据。

显示分数

FractionMode属性以便以分数格式呈现数值。你能够向叁个单元格中键入0.01要么您能够键入一成0。二种情景都会突显为十分一0。你能够运用FractionDenominatorPrecision枚举类型(例如要将分数字呈现示为多少个四分之一,四分之一之类)恐怕利用FractionDenominatorDigits属性设置分母的位数。上边那张表列出了富有与数字单元格相关的分数属性。

属性

描述

FractionMode

设置是否将数值显示为分数。

FractionConvertWholeNumbers

当数值显示为分数时,设置是否将整数部分转化为分数。

FractionCustomFormat

使用自定义的格式设置数值如何显示。要使用自定义的格式,请设置FractionDenominatorPrecision以便于自定义。

FractionDenominatorDigits

当数据显示为分数时,设置数字的位数。

FractionDenominatorPrecision

当数据显示为分数时,设置分数的精度。

FractionRenderOnly

当数据显示为分数时,设置是否允许分数处于编辑模式。

FarPoint.Win.Spread.CellType.NumberCellType frac =new FarPoint.Win.Spread.CellType.NumberCellType();

frac.FractionMode =true;

frac.FractionConvertWholeNumbers =false;

frac.FractionDenominatorPrecision = FarPoint.Win.Spread.CellType.FractionDenominatorPrecision.Custom;

frac.FractionDenominatorDigits =3;

fpSpread1.ActiveSheet.Columns[0].CellType = frac;

fpSpread1.ActiveSheet.Columns[1].CellType = frac;

fpSpread1.ActiveSheet.Cells[0, 0].Value =5.01;

  

那么些示例设置一个单元格以分数方式呈现数据,值5.01的来得结果为5
十分一0:其余一种设置分数字展现示的法子是(使用FractionCustomFormat属性)设置自定义格式设置四个数值。私下认可的值是“#
???/???”个中格式为3个整数(#)伴随着三个3人的分数 ( / )。
斜杠前面包车型客车问号决定了分母的数位(能够有一到十7个人的精度,因为16人的精度是最大的)。自定义格式,你也足以
钦赐分母,比如“# ???/100”或者“#
??/64”。即便FractionConvertWholeNumber棉被服装置为真,那么就不会显示为整数片段还要
整个数显为一个分数。

尾部单元格

使用Spin按钮

暗中认可情形下,Spin按钮不出示,不过你能够在单元格处于编辑情势时在单元格内部凸显Spin按钮。
你能够应用以单词“Spin”先导的NumberCellType的好多属性设置各个分化的Spin函数。

底部的单元格是足以渲染的,但是是不行编辑的。就算你能够将一种单元格类型赋给行头可能列头的单元格,不过单元格类型仅仅用来描写。在单元格中,编辑操作被限定在数据区域的单元格中。假使您想将一部分可编写制定的预制构件像
表头这样实行操作,你能够将列头隐藏(大概关闭)
,将表单的率先行冻结,然后选用冻结的行作为您的伪尾部单元格。

比例单元格PercentCellType

你可以使用1个比例单元格以便将数据体现为百分数而且限制输入为百分数的值。暗中认可情况下,在八个比重单元格中,借使您在运转境况双击处于编辑方式下的单元格,就会弹出二个计算器。你能够钦定展现在明确键和废除键上的文本音讯。

上面包车型大巴言传身教将3个单元格设置成为1个百分比单元格并且出示了1个简写(P牧马人CNT)而不是百分号(%)。

FarPoint.Win.Spread.CellType.PercentCellType prctcell =new FarPoint.Win.Spread.CellType.PercentCellType();

prctcell.PercentSign ="PRCNT";

prctcell.PositiveFormat = FarPoint.Win.Spread.CellType.PercentPositiveFormat.PercentSignBeforeWithSpace;

fpSpread1.ActiveSheet.Cells[1, 1].CellType = prctcell;

  

日期时间单元格DateTimeCellType暗许情况下,Spin按钮不出示,可是当单元格处于编辑格局时,你能够利用单元格内部的Spin按钮。
你能够选择以单词“Spin”起首的PercentCellType的若干性质设置各样分歧的微调函数。

你可以安装三个单元格用于展现日期和岁月,也得以钦定要突显的日子和时间的格式。

在Windows环境中,暗中认可值使用区域化的设置只怕区域化的选项。你可以应用两种属性内定其格式。就算3个日期时间单元格展现的日期和时间利用长日子和岁月格式,并且当今日子和时间是“10/29/二零零四11:10:01”,文本属性重回“周日,11月,18日,2004年 11:10:01
上午”。值属性重回所述的日期时间的对象。

暗许情形下,在日期时间单元格中,假诺您在运营时双击处于编辑状态下的单元格,就会弹出1个日历(可能时钟)。你能够操纵是或不是出示那几个,并且你能够钦定呈现在显著和收回按钮上的文书。

上边包车型地铁以身作则代码在其次行第壹列的单元格中展现3个短格式的日期和时间:

FarPoint.Win.Spread.CellType.DateTimeCellType datecell =new FarPoint.Win.Spread.CellType.DateTimeCellType(); 

datecell.DateSeparator =" | ";

datecell.TimeSeparator =".";

datecell.DateTimeFormat = FarPoint.Win.Spread.CellType.DateTimeFormat.ShortDateWithTime;

fpSpread1.ActiveSheet.Columns[1].Width =175;

fpSpread1.ActiveSheet.Cells[1, 1].CellType = datecell;

fpSpread1.ActiveSheet.Cells[1, 1].Value = System.DateTime.Now;

  

对象层次

Spread控件中的对象,例如表单、行和单元格等,有好多格式和其他的性子持续自它的
“父母”。1个单元格能够从一个表单中继承格式,例如背景颜色。假如你对一列中兼有单元格的文书对齐格局实行了设置,则单元格同样一连了该对齐形式。由于目的继承,很多品质和办法能够接纳差别的艺术使用在表单的不等部分。

您能够重载2个单独的单元格所继承的格式,但目的私下认可继承父类的本性。所以在三个加以的光景文中,任何二个对象的装置总计了采取在其上的父类属性。例如,你能够为三个单元格在单元格级别上设置文本颜色,但它只怕从其所在行继承了垂直对齐情势,从其所在列继承了界限属性,并从其所在表单继承了背景颜色。由于背景颜色或许在这几个多少个层次上被装置,由此必须使用有些优先级规则。

越临近单元格级别,优先级越高。所以只要你在单元格中设置了背景颜色,那么从父类继承而来的安装将会被掩盖。请参阅如下的品质优先级列表。越临近单元格(数字越小),优先级越高。

  1. 单元格

  2. 交替行

  3. 表单

  4. 控件

上面包车型大巴演示代码把表单的背景设为天灰,第1行和第一行的背景设为紫罗兰色,第③列的背景设为浅绿,第①行第一列的单元格背景设为白色。能够从效果图上看看表单、列、行和单元格之间的事先级关系。

fpSpread1.Sheets[0].DefaultStyle.BackColor = Color.Yellow;

fpSpread1.Sheets[0].Rows[1].BackColor = Color.Green;

fpSpread1.Sheets[0].Rows[2].BackColor = Color.Green;

fpSpread1.Sheets[0].Columns[2].BackColor = Color.Blue;

fpSpread1.Sheets[0].Cells[2,2].BackColor = Color.Red;

  

澳门皇冠官网app 1

货币单元格CurrencyCellType

货币符号(并且决定是或不是出示)

分隔符(并且决定是不是出示)

十进制符号

是或不是出示三个大旨的零

正数提示器(并且决定是还是不是出示它)

负数提示器(并且决定是不是出示它)

默许情况下,在货币单元格中,若是你在运作时双击处于编辑状态的单元格,就会来得三个弹出的总计器。你能够决定是不是同意他来得,并且你能够钦赐展现在“明确”和“废除”按钮上的文书消息。
你还足以设置能够输入的微小和最大值, 以便用户对其输入实行认证。

上边包车型大巴言传身教代码设置了三个澳元的钱币单元格并设置了必然的格式:

FarPoint.Win.Spread.CellType.CurrencyCellType currcell =new FarPoint.Win.Spread.CellType.CurrencyCellType(); 

currcell.CurrencySymbol ="US$";

currcell.DecimalSeparator =":";

currcell.DecimalPlaces =8;

fpSpread1.ActiveSheet.Cells[1,1].CellType = currcell;

  

 在暗许景况下,Spin微调按钮是不出示的,可是你能够在单元格的边际展现微调按钮(此时单元格处于编辑形式)。你能够动用以字符Spin开始的CurrencyCellType属性设置分裂的微调函数。

附:Spread for Windows Forms快捷入门种类文章

Spread for Windows
Forms急迅入门(1)—初叶运用Spread

Spread for Windows
Forms急速入门(2)—设置Spread表单

Spread for Windows
Forms火速入门(3)—行列操作

 

连带阅读:

Spread for Windows Forms
7新职能使用指南

Spread Studio 10.0v1
发布

SpreadJS 10.0v1
发布

 

自定义弹出的日期时间控件

假使你在编辑方式下按下F4键可能双击的日卯时间单元格,三个弹出日历(只怕弹出时钟)就会来得。借使您将格式设置为TimeOnly,那么就会展现3个时钟控件。你在日历中接纳的日子(只怕在时钟中选择的时辰)被停放在日期时间单元格中。假设你想要展现日期与时光,你能够在日历控制中式点心击“Today”;如若你想要展现时间,你能够在时钟控制里点击“Now”。

弹出日历控件

弹出时钟控件

您能够钦赐日期和月份的平常化名称和缩写名称,并且能够钦赐控件底部按钮的文件。使用
DateTimeCellType类的SetCalendarText 方法对它们进行设置。

请小心按钮主题展现的文书。请尽可能把将文件长度限制为8或8个字符。就算按钮能够展示十二个字符,但第一个和尾声三个字符将会12分类似按钮的边缘。

当使用控件时,仅需点击分明或吊销按钮关闭控件。“Today”(大概“Now”)按钮能够简简单单地将单元格中的值设置为当下日子(或时间)。

更加多关于日期和岁月单元格格式的装置,请参阅DateTimeFormat 枚举类型。

下边的言传身教代码设置按钮的公文,并且在数组列表中钦命日期和月份的名称。

FarPoint.Win.Spread.CellType.DateTimeCellType datecell = new FarPoint.Win.Spread.CellType.DateTimeCellType(); 

string[] daynames = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; 

string[] months = {"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; 

string[] dayabbrev = {"Su","My","Ty","Wy","Th","Fy","Sy"};

string[] mthabbrev = {"Jy","Fy","Mh","Al","My","Jn","Jl","At","Sr","Or","Nr","Dr"};

string okbuttn = "Fine";

string cancelb = "Quit";

datecell.DateTimeFormat = FarPoint.Win.Spread.CellType.DateTimeFormat.UserDefined;

datecell.UserDefinedFormat = "dddd MMMM d, yyyy";

datecell.SetCalendarText(daynames,months,dayabbrev,mthabbrev,okbuttn, cancelb); 

fpSpread1.ActiveSheet.Cells[1, 1].CellType = datecell;

fpSpread1.ActiveSheet.Cells[1, 1].Value = System.DateTime.Now;

fpSpread1.ActiveSheet.Columns[1].Width = 130;

  

自定义自动完毕(预先键入)

您能够依照用户在单元格中的输入实行机动完毕(预先输入),使用IAutoCompleteSupport
接口及其性质以便在可编写制定单元格中提供自动达成的特征。

澳门皇冠官网app 2

大抵有五个属性能够展开安装。第三个你能够安装自动完结的方式,如上海教室所示。这些选项包蕴提示3个可能的单词或3个恐怕的自行实现的下拉列表,或是两者都有,又可能两者都不曾。

第叁个天性,你能够设置自动实现的来源于。那么些来自被当做是自动完毕的门类的列表。你可以创制三个自定义源并且定义你协调的品种清单,也许您能够设置分化的系统能源为源。接口中有二种特性提供对自定义源的设置。第二个是为自定义源设置可能的候选选项。第三个是安装是或不是选取此列中的其余单元格的数值列表填充该列表。要选拔该列的单元格中的数据,例如,你能够设置源为自定义源,然后打开自动补齐。如若条目在单元格的上面或然上边没有空白的单元格间隔,那么自动补齐仅仅是向自定义源中添加项目。

想要查看上边图片背后的代码,请参阅与制品一起安装的SpreadWin德姆o示例。

使用子编辑器

对于两种可编写制定的单元格类型,当您点击单元格的中间时,就会显得1个编辑器。你能够扩大这几个简单的行编辑器,并且提供三个自定义用户界面
(为用户提供多少的装置来支援用户举办便捷输入)
这一个接口的别样层级是受子控制器或单元格编辑器的editor控制的。例如,当你挑选日期时间单元格时,你能够向用户可以提供2个日历以便选取三个日期。那一个日历控件将被称为子编辑器。

制造一个子编辑器

澳门皇冠官网app,您能够创立你协调的子编辑器,当此操作达成时,此编辑器就会议及展览示。

  • 经过点击F4键
  • 透过在编写制定方式中双击单元格
  • 通过点击下拉按钮(当DropDownButton属性被设为“True”时)

创办你自身的子编辑器的步骤是:

1) 为1个子编辑器创制3个新的Form类。

2) 对那一个您刚创建的Form达成ISub艾德itor接口。

3) 对调用函数设置子编辑器(Sub艾德itor属性)

至于子编辑器的言传身教,请参阅上边“自定义弹出的日未时间控件”,这里日历子编辑器在日期时间单元格中可用。

禁止使用子编辑器

在可编写制定单元格类型中,当你点击单元格内部时,就会默许地出示二个子编辑器。可是一些时候你可能想禁止使用这么些子编辑器。例如,在日期时间单元格中,你只怕想要禁止弹出的日历控件;
在数字单元格中你大概想要禁止弹出的总计器控件。

要禁止使用子编辑器,你能够在Sub艾德itorOpening事件中安装e.Cancel为“True”:

private void FpSpread1_SubEditorOpening(object sender, FarPoint.Win.Spread.SubEditorOpeningEventArgs e) 
{
    e.Cancel = true;
}

  

创制自定义的单元格类型

您能够经过创办三个延续自已存在的单元格类型的子类(正是说要重载那些类中的每一个措施)来创制你自身的单元格类型。倘若自定义单元格类型要动用剪贴板恐怕要选用导出到Excel的主意,那么自定义单元格类应当被标记为“Serializable”。

Spread演示事例中的自定义编辑器示例(Spread for Windows Forms 5\samples
folder)显示了什么样接纳控件使之成为单元格editor。示例文件夹中的这多少个“FarOut!”示例展现了自定义单元格类型。

Spread for Windows Forms 5.0
普通话版下载地址

附:Spread for Windows Forms高级宗旨种类小说

Spread for Windows
Forms高级大旨(1)—底层模型

 

相关阅读:

Spread for Windows Forms
7新作用使用指南

Spread Studio 10.0v1
发布

SpreadJS 10.0v1
发布

 

相关文章