组合框单元格ComboBoxCellType
你可以使用一个组合框单元格以显示一个可编辑的下拉列表,用户通过在显示的列表中进行选择完成对值的输入。你可以指定项目的列表是否包括显示伴随文字的图标,同时也可以指定在任何时候都显示的数字,以及单元格是否对用户来说是可编辑的。
仅文本
文本以及图标
自定义列表外观
这里总结了你可以自定义组合框外观的若干属性。
属性
描述
BackgroundImage
这个属性可以让你设置一张图,用于显示组合框的可编辑部分的 背景。
ButtonAlign
这个属性可以让你设定按钮的显示位置。
ImageList
这个属性可以使你设置组合框中下拉菜单里面的文本旁边显示的图标。
ItemData
这个属性可以使你为组合框的下拉菜单设置项目的数据,此数据与显示的项目不同。
Items
这个属性可以让你为组合框的下拉菜单设置项目。
ListAlignment
这个属性可以让你设置设置列表对齐到单元格上的哪一边。
ListOffset
这个属性可以让你设置从单元格的对齐边开始计算 列表有多少像素的偏移。
ListWidth
这个属性可以让你设置下拉列表的宽度(以像素计算)。
MaxDrop
这个属性可以让你设置在列表中每次最多显示的项目数。如果 有更多的项目要显示,列表框就会显示垂直滚动条。
MaxLength
这个属性可以让你设置在组合框中允许显示的最大字符数。
自定义列表的 *** 作
这里有一个 *** 作属性的集合,你可以通过他们自定义组合框。
属性
描述
AcceptsArrowKeys
设置组合框控件如何处理方向键。
AutoSearch
设置组合框中如何根据输入的一个关键字符来搜索列表的项目。
CharacterCasing
设置文本单元格中的大小写。
CharacterSet
设置文本单元格中所允许使用的字符。
Editable
设置你是否可以在组合框中的可编辑区域键入数据。
EditorValue
设置向底层的数据模型写入的值。
ListControl
如果你不想使用Spread内置的列表控件 ,可以设置组合框控件中的列表部分来代替。
Spread控件中包括为按钮单元格和组合框单元格提供了一个ButtonDrawMode属性。这个属性授权你在当前列,行,或单元格中一直显示一个或若干个按钮。
下面的代码示例创建了一个组合框单元格,列出了1到6月的英文名,并允许用户输入其他值:
FarPointWinSpreadCellTypeComboBoxCellType cmbocell = new FarPointWinSpreadCellTypeComboBoxCellType();
cmbocellItems = (new String[] {"January", "February", "March", "April", "May", "June"});
cmbocellAutoSearch = FarPointWinAutoSearchSingleCharacter;
cmbocellEditable = true;
cmbocellMaxDrop = 4;
fpSpread1ActiveSheetCells[0, 0]CellType = cmbocell;
按钮单元格ButtonCellType
你可以使用按钮单元格在单元格中的显示一个按钮。按钮单元格缺省显示成一个默认颜色的矩形的按钮。你可以自定义文本,颜色以及按钮图样并且指定点击时触发的某个行为。
自定义按钮外观
按钮可显示文本、、或者都显示。如果他们显示,你可以选择当按钮按下显示另外的一张。你可以自定义按钮单元格的颜色,包括边框颜色,文本颜色以及背景颜色。另外,按钮单元格可以显示三维的外观,并且你可以自定义高亮和阴影的颜色。
属性
描述
BackgroundStyle
设置背景如何被渲染。
ButtonColor
设置按钮的颜色。
ButtonColor2
当绘制一个渐变色的按钮时,设置辅助颜色的使用。
DarkColor
设置按钮底部和右端的边界的颜色(也就是显示出三维按钮中的明亮部分的颜色)。
GradientMode
设定斜度按钮的绘制风格。
LightColor
设置按钮顶部和左端的边界的颜色(也就是显示出三维按钮中的阴影部分的颜色)。
Picture
设置一幅图作为按钮的整体外观。任何GDI+位图都可以使用,比如BMP,GIF或者 JPG文件。如果你使用有两种状态的按钮,这就显示为一个未按下的状态。
PictureDown
为已经按下的按钮设置一副图。
ShadowSize
设置阴影的厚度,阴暗面和阳面的颜色(以显示出他的三维效果)。
TwoState
设置按钮函数是否显示为一个有两种状态的拨动开关。每次你点击按钮,按钮就会更改状态。
默认情况下,按钮仅有一个状态,当且仅当指针按下时才会改变外观。你可以将按钮设置为两种状态的按钮,并且当按钮被点击时,会在两种状态之间切换。当用户点击该单元格的任意一点时,按钮就被触发。默认情况下,按钮的行为类似于开关按钮,这样你可以点击鼠标左键,并且当你松开鼠标时,按钮就会d起。如果你愿意,按钮单元格会像切换按钮或者有两种状态的按钮一样,当你使用鼠标左键点击的时候按钮会保持按下状态。按钮为“否”当他们没有被按下时, 为“真”当他们被按下时。
自定义文本外观
你可以指定按钮单元格中显示的文本并且你可以指定文本的外观。你可以指定按钮单元格中旁边的文字对齐方式以及是否对多行文字进行换行 *** 作。
属性
描述
HotkeyPrefix
设置是否显示下划线以便显示快捷键(或者热键)。
Text
设置显示在按钮上的文本。
TextAlign
相对于一张设置文本的对齐方式。
TextColor
设置按钮中的文本颜色。
TextDown
如果按钮是有两个状态的按钮,当它被按下时,设置按钮的显示的文本。
TextOrientation
设置按钮上文本的方向。 请看下表显示了有关于文字方向的各种示例。
WordWrap
设置是否对文本进行自动换行 *** 作。
除了按钮单元格本身的属性之外,你也可以通过设定FpSpread类的属性影响按钮行为。 FpSpread类有一个针对于按钮单元格以及组合框单元格的ButtonDrawMode属性。这个属性允许你总是显示一个按钮或者在当前这一列,这一行,或者这一个单元格中的若干个按钮。
在下面的示例中,创建一个蓝色的带文本的按钮。当指针被按下时,可以定义不同的显示文本。这个实例按钮显示在这个主题的开头部分。
FarPointWinSpreadCellTypeButtonCellType bttncell = new FarPointWinSpreadCellTypeButtonCellType();
bttncellButtonColor = ColorCyan;
bttncellDarkColor = ColorDarkCyan;
bttncellLightColor = ColorAliceBlue;
bttncellTwoState = false;
bttncellText = "Click and Hold";
bttncellTextDown = "now let go";
bttncellShadowSize = 3;
fpSpread1Sheets[0]Cells[0,2]CellType = bttncell;
行列怎么去区分?首先区分行列是从观看的方向来区分的,横着的是行,竖着的是列。很多学生在刚刚接触到行和列的时候会发现,自己根本不知道应该如何才能区分行和列,不过,你要记好,横着的是行竖着的是列,这样就不会记错了,接下来我们详细地了解一下其中的内容吧!
在小学的时候,就已经开始接触起来行和列的区别了,而在当时的学习中,行和列是学习的一个重要概念,其中在教学课本中的定义是比较明确的,主要是数学中的数对问题来表示的行和列的问题,其中假如一个数对是(8,9)前面的数字代表的是列后面的数字代表的就是列,其中(8,9)表示第8列第9行,这样就比较好理解了。
最简单的方法将就是竖着看叫列,横着看叫行,这样的写法和学习方法是不会出错的,就算在早期学习的时候不知道什么叫作列什么叫作行也是没有问题的,只需要认清楚横着竖着叫列横着叫行就可以了。
在数学题中,我们经常会遇到一些数对的考察,这类数对的考察主要是给出了一个具体的坐标,然后需要学生们去结合整个坐标来进行一个行和列的具体分析,只要有了坐标,我们其实也是可以通过查数的方法来看出来具体坐标位置的行和列,一切的根本就在于,“竖着看叫列,横着看叫行”这一句话上面,不要弄混了就可以了。
在小学数学的考察中,一般会选择一些搬家或者游玩景点的题目来对于数对和行列的相关知识进行考察,其中就比如某个小朋友去一个游乐园游玩,他走在游乐园里面会去玩一些项目,让你去找一些这样的项目坐标在哪里,然后的话进行一个口头描述,将小朋友去哪里玩描述出来,这样的考察有利于小朋友理解和分析一些关于坐标和行列的相关知识。
以上就是关于行列的区分方法,在正常的学习过程中也经常会遇到,一定要记住一句话,竖着看叫列,横着看叫行,这句话只要记住了,整个类型的题目就都解决了!
在Excel中,单元格引用可以分为绝对引用、相对引用和混合引用三种。
1、绝对引用
单元格中的绝对单元格引用(例如 $F$6)总是在指定位置引用单元格F6。如果公式所在单元格的位置改变,绝对引用的单元格始终保持不变。
如果多行或多列地复制公式,绝对引用将不作调整。默认情况下,新公式使用相对引用,需要将它们转换为绝对引用。例如,如果将单元格 B2 中的绝对引用复制到单元格 B3,则在两个单元格中一样,都是 $F$6。
2、相对引用
公式中的相对单元格引用(例如 A1)是基于包含公式和单元格引用的单元格的相对位置。如果公式所在单元格的位置改变,引用也随之改变。如果多行或多列地复制公式,引用会自动调整。默认情况下,新公式使用相对引用。例如,如果将单元格 B2 中的相对引用复制到单元格 B3,将自动从 =A1 调整到 =A2。
3、混合引用
混合引用具有绝对列和相对行,或是绝对行和相对列。绝对引用列采用 $A1、$B1 等形式。绝对引用行采用 A$1、B$1 等形式。如果公式所在单元格的位置改变,则相对引用改变,而绝对引用不变。
如果多行或多列地复制公式,相对引用自动调整,而绝对引用不作调整。例如,如果将一个混合引用从 A2 复制到 B3,它将从 =A$1 调整到 =B$1。
扩展资料:
表格中的公式引用
很多类似表格软件都支持公式比如Spread您可以添加一个 公式到一个单元格或单元格区域内。 您还可以向一行或者一列中所有的单元格添加公式。
下面给出一个Spread示例显示如何指定一个公式,找到第一个单元格的值的五十倍的结果,并且将结果放入另一单元格中。 然后,它可以求得一个单元格区域的总和(A1到A4)并且将结果放入第三列的每一个单元格中。
FpSpread1ActiveSheetCells[2, 0]Formula = "PRODUCT(A1,5)";
FpSpread1ActiveSheetColumns[3]Formula = "SUM(A1:A4)";
spread 中checkbox的用法
forpoint spreadsheet
列类别选择combo就可以了
spread的帮助文件中间搜索 CellType property, check box cells
//------------------------------------------------------
是这样的,我的webform上放了一个FpSpread控件,我想把行头变成checkbox样式,我的方法是在后台代码中定义:
FarPointWebSpreadCheckBoxCellType celltype = new FarPointWebSpreadCheckBoxCellType();
然后将此type赋给行头:
FpSpread1ActiveSheetViewRowHeaderCells[0,0]CellType=celltype;
我的问题是:1如果我想用一个Button控制当点击Button时,如果CheckBox是选中状态,则在该中显示某某字符,但我不知道这种CheckBox的标识是什么,还有他的状态为选中或没选中返回值是什么?
2还有其他方法吗比如我用
FpSpread1ActiveSheetViewRowHeaderCells[0,0]Text="<Input id=\"nihao\" checked type =\"CheckBox\" />"
遇到的困难和刚才一样。
请问怎么解决,多谢!
FpSpread1columnsheadercells(0,0)text="Check #"
//-------------------------------------------------------------
确定check所在的位置,然后直接判断FpSpread1Sheets(0)Cells(1,6)Value是否为1,为1就是选中状态。我是这样的。
Public Sub SetCOLCheck(spd As vaSpread, ByVal lCol1 As Long, ByVal lCol2 As Long, _
Optional ByVal IsCenter As Boolean = True)
With spd
Col = lCol1
Col2 = lCol2
Row = -1
BlockMode = True
CellType = 10
TypeHAlign = 0
TypeCheckCenter = IsCenter
BlockMode = False
End With
End Sub
我使用的是Spread,是这么填加的
//---------------------------------------------------------
1BorderStyle:调整是否有边框 默认为Fixed3D FixedSingle只有一条线 2location x,y 调整位置
3horizontalScrollBarPolicy 默认为Always横向向滚共条始终存在,就是AsNeeded条数超过显示就存在,否则不显示,Never始终没有滚动条
4verticalScrollBarPolicy 默认为Always纵向滚共条始终存在,就是AsNeeded条数超过显示就存在,否则不显示,Never始终没有滚动条
5Enabled 是否可以编辑
点击Sheets属性旁的按钮就会出现关于Sheets页里面属性的设置
1selectionUnit 默认为Cell运行的时候,点击单元格选中的只是一个单元 Column整列,Row整行
2ColumnCount Spread表示数据的列数
3RowCount Spread表示数据的行数
4OperationMode 主要是MultiSelect,SingleSelect两种的区分SingleSelect只能选一行, MultiSelect可以择多行。
5rows和Column下的Resizable可以将列和行的大小固定为不可调整
AddColumns(Integer i, Integer j)添加列,i是起始位置,j是列数。
AddRows(Integer i, Integer j)添加列,i是起始位置,j是列数。
AddSelection(I,j,k,m)添加选中的cell
ClearRange AddSelection(I,j,k,m,true)清空Spread还有很多常用的方法。就往Spread中放值的方法
1创建对应的DataSource MeFpSpread1_Sheet1()DataSource =objDsTables(0)
MeFpSpread1_Sheet1()Columns(0)DataField = "id"
MeFpSpread1_Sheet1()Columns(1)DataField = "name“
Id,和name是从数据库中查出来得数据结果集中数据表的字段名。
这样从数据库中查出的值就可放在相应的列上了。
2也可单独往单元格中放值
MeFpSpread1_Sheet1Cells(0, 0)Value() = “123”
放值时需要注意的是FpSpread1_Sheet1的起始位置是(0,0)
如果只有4行4列的话是不存在(4,4)这样的Cells的
MeFpSpread1_Sheet1ActiveRowIndex
可以取得选择的行的索引值,从0开始
FpSpread1_Sheet1Cells(FpSpread1_Sheet1ActiveRowIndex, 1)
可以取得选择的行对应单元格的值。
Dim cellButtonType As New FarPointWinSpreadCellTypeButtonCellType
cellButtonTypeText = "Detail"
MeSpdYoteyi_Sheet1ColumnHeaderCellsGet(0, 3)BackColor = SystemDrawingColorFromArgb(CType(255, Byte), CType(255, Byte), CType(192, Byte))
With frmSpdYoteyiSheets(0) ColumnsGet(0)ForeColor = SystemDrawingColorRed
ColumnsGet(3)ForeColor = SystemDrawingColorBlue
SetText(0, 0, "eld001")
SetText(0, 7, "2006/04/20")
SetText(0, 9, "会社AAA")
// 动态添加列。
AddColumns(10, 1)
ColumnsGet(10)Label = "详しい"
ColumnsGet(10)CellType = cellButtonType
End With
// 获得当前选中行
SpdYoteyiActiveSheetActiveRowIndex()
//-------------------------------------------------
关于spread的一些基本 *** 作
对日软件开发,经常会用到spread控件。使用中积累了一些经验,自己总结一下。
1.spread的cell
在spread的设计界面里可以设置cell的各种属性,和用惯的vb差不多。其实它的help写的挺详细的,刚开始日文不好看起来不方便,现在可以顺利理解了。Cell可以是checkbox,文字,数字,时间等等类型,可以只读,可读写,还可以设置背景色,边框等。和excel相像的。
2.Cell的读写模式。
1 只读
① 全体只读
With spdTEMP
Col = 1
Col2 = MaxCols
Row = 1
Row2 = -1 '当spd里数据是0条时,MaxRows会出错。用-1安全。
Protect = True
BlockMode = True
Lock = True
BlockMode = False
End With
②部分只读,设置行和列就可以
With spdTEMP
Col = 2
Col2 = 5
Row = 1
Row2 = 8
Protect = True
BlockMode = True
Lock = True
BlockMode = False
End With
2一般写模式和覆盖写模式
一般写模式:EditMode = True
覆盖写模式:EditModeReplace = True
区别在于 1)光标模式不同,一般写为单个鼠标入力光标,覆盖写已有内容全选,替换输入。
2)当输入带有小数的数字时,覆盖写会自动跳到小数最末位,这可能是spread30在win2000下的bug吧。症状是第一遍输入1023时会变成103,第二遍输入时就好了。试验了很多次,最后不得已换成一般写模式。
3spread的click事件
① 这是一段点击每行第三列时,自动全行copy数据的例子。
Private Sub spdTMSR160_Click(ByVal Col As Long, ByVal Row As Long)
Dim temp As String
Dim i As Integer
If Row = 0 Then Exit Sub
If spdTMSR160Lock = True Then Exit Sub
With spdTMSR160
Col = 3
Col2 = MaxRows
Row = Row
Row2 = Row
If Col = 2 And Value <> "" Then
If MsgBox("3月の予算金额を全ての月にコピーしてもよろしいですか?", vbQuestion + vbYesNo) = vbYes Then
BlockMode = True
temp = Value
For i = 1 To 11
Col = Col + 1: Value = temp
Next
End If
End If
BlockMode = False
End With
End Sub
② 这是一段有选择按钮的例子。选中时行变色,部分cell改变入力状态。
Private Sub spdTMSR020_Click(ByVal Col As Long, ByVal Row As Long)
If Row = 0 Then Exit Sub
' If spdTMSR020Lock = True Then Exit Sub
If Col >= 1 And Col <= 7 Then
With spdTMSR020
Col = 1
Col2 = MaxCols
Row = Row
Row2 = Row
Value = IIf(Value = 0, 1, 0)
BlockMode = True
If Value = 0 Then
' If Row Mod 2 = 0 Then
' BackColor = RGB(245, 236, 233)
' Else
BackColor = RGB(255, 255, 255)
' End If
Col = 8
Col2 = 11
Row = Row
Row2 = Row
Protect = True
Lock = True
Else
BackColor = RGB(128, 255, 128)
Col = 8
Col2 = 11
Row = Row
Row2 = Row
Lock = False
EditMode = True
End If
BlockMode = False
End With
End If
End Sub
spread30的选择按钮很脆弱,一不小心小红钩不见了,事件却没有触发。所以把边上的固定列都设为可选择状态。
4关于背景色的设置。
Backcolor 指定范围,设置背景色
SetOddEvenRowColor,设置奇数,偶数行的颜色。
本来背景色是粉红和白色相间的,但是单行变色判断和全体变色中产生问题,不得不改成全白的。
其根本原因是backcolor比SetOddEvenRowColor要强。Backcolor可以更改SetOddEvenRowColor设置的颜色,而SetOddEvenRowColor却无法改变Backcolor设定的颜色。
而当数据很多时,背景需要刷新时,用backcolor一行一行判断更改,画面会产生剧烈颤抖…
//----------------------------------
序号属性说明
1MaxRows = 10设置总行数为10行
2MaxCols = 5设置总列数为5列
3ColHeaderRows = 2表头(列标题)行数为2
4Row = SpreadHeader定位到表头(列标题)
5Row = -1定位到行头(在设置列格式时使用)
6ColWidth(1) = 16设置第1列的列宽为16
7RowHeight(1) = 12设置第1行的行高为12
8FontSize = 10"设置当前栏位的字体大小为10(如果Row = -1,
则设置整列,下同)"
9TypeHAlign = TypeHAlignRight设置文字水平对齐方式为右对齐
TypeVAlign = TypeVAlignCenter设置文字垂直对齐方式为居中
10CellType = CellTypeNumber设置为数字类型
11TypeNumberDecPlaces = 2设置小数位数
12TypeNumberShowSep = True设置千位分隔
13SetText 2, 3, "test"设置第2列第3行的文本为"test"
14GetText 2, 3, MyText将第2列第3行的值赋给变量MyText
15Row = 3定位到第3行
16Col = 2定位到第2列
17Text = "test"设置当前栏位的文本为"test"
18MyRow = ActiveRow将当前行号赋值给变量MyRow
19InsertRows 2, 1在第2行前插入1行
20DeleteRows 2, 1"在第2行前删除1行(如果Spread是通过设置数据源
取得数据的话,则必须设置DataSource = Nothing
才能删除)"
21InsertCols 2, 1在第2列前插入1列
22DeleteCols 2, 1在第2列前删除1列
23AddCellSpan 3, 4, 2, 1从第3列第4行起合并单元格,跨度为2列1行
24RowHeadersShow = False隐藏行标题
25ColHeadersShow = False隐藏列标题
26PrintMarginLeft = 1000打印时左边距=1000(包括预览)
27PrintMarginTop = 1000打印时上边距=1000(包括预览)
28OperationMode = OperationModeRow设置Spread的 *** 作模式为行定位(共有6种模式)
29DataSource = Rs设置Spread的数据源为Rs记录集
以上就是关于怎样写spread单元格类型为buttoncelltype类型的事件全部的内容,包括:怎样写spread单元格类型为buttoncelltype类型的事件、行列怎么区分、在Excel中,单元格引用可以分为( )、( )和( )三种方式。等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)