MSFlexGrid问题 再次提出!
VB MSFlexGrid合并标题的问题,我以前已经提问过了,但还是没有解决:标题共有三行,其中有些行中的某几列需要合并,,某些相同列需要合并,但不合并输入数据,用合并单元格的方式只合并标题,应怎样做,可否举个例子?
下面是相关代码: 不知哪里有错误?谢谢!
Private Sub Form_Load()
With MSFlexGrid1
.Rows = 5
.Cols = 11
.FixedRows = 3
.FixedCols = 0
For i = 1 To 2
.TextMatrix(i, 5) = "计划数量 "
Next i
For i = 6 To 7
.TextMatrix(1, i) = "调节数量 "
Next i
For i = 0 To 2
.TextMatrix(i, 0) = "材料名称 "
.TextMatrix(i, 1) = "规格 "
.TextMatrix(i, 2) = "颜色 "
.TextMatrix(i, 3) = "单位 "
.TextMatrix(i, 4) = "单价 "
Next i
For i = 0 To 2
.TextMatrix(i, 9) = "金额 "
.TextMatrix(i, 10) = "备注 "
Next i
For i = 5 To 8
.TextMatrix(0, i) = "数量 "
Next i
.TextMatrix(1, 8) = "实际数量 "
.TextMatrix(2, 8) = "实际数量 "
.TextMatrix(2, 6) = "调节方式 "
.TextMatrix(2, 7) = "调节比例 "
.MergeCells = flexMergeRestrictRows
.MergeRow(0) = True
.MergeRow(1) = True
.MergeCol(0) = True
.MergeCol(1) = True
.MergeCol(2) = True
.MergeCol(3) = True
.MergeCol(4) = True
.MergeCol(5) = True
.MergeCol(6) = True
.MergeCol(9) = True
.MergeCol(10) = True
End With
End Sub
[解决办法]
但不合并输入数据,用合并单元格的方式只合并标题,
指定它的行用你上面那个属性不就行了
MSFlexGrid1.MergeCells = 3 限制列只有列中数据相同才合并
MSFlexGrid1.MergeRow(0) = True 指定要合并的行
[解决办法]
将以下代码放入End With 后面
MSFlexGrid1.MergeCells = 3 ' 限制列只有列中数据相同才合并
MSFlexGrid1.MergeRow(0) = True ' 指定要合并的行
For i = 0 To 10
MSFlexGrid1.FixedAlignment(i) = 4
Next i
MSFlexGrid1.MergeCol(8) = True
MSFlexGrid1.MergeRow(1) = True ' 指定要合并的行
[解决办法]
'合并单元格==================================
'语法
'
'object.MergeCells [=value]
'
'MergeCells 属性的语法包含如下部分内容:
'
'部分 描述
'object 一个对象表达式,其值为“应用于”列表中的一个对象。
'value 一个整数或常数,指定单元分组(合并)。如设置值中所指定。
'
'
'设置值
'
'Value 的设置值如下所示:
'
'常数 值 描述
'flexMergeNever 0 不显示。包含相同内容的单元不分组。这是缺省设置。
'flexMergeFree 1 自由。包含相同内容的单元总是合并。
'flexMergeRestrictRows 2 限制行。只有行中包含相同内容的相邻单元(向当前单元左边)才合并。
'flexMergeRestrictColumns 3 限制列。只有列中包含相同内容的相邻单元(向当前单元上方)才合并。
'flexMergeRestrictBoth 4 限制行和列。只有在行中(向左)或在列中(向上)包含相同内容的单元才合并。
'======================================
'MSHFlexGrid 控件常数
'
'
'这一节包含关于 MSHFlexGrid 的控件常数的信息。注意这些常数也应用到 MSFlexGrid,除非有不同地注解。
'
'AddModeSettings 属性(MSHFlexGrid)
'常数 值 描述
'flexNoAddNew 0 当前单元不在最后行中,并且没有 AddNew 操作处于待决。
'flexAddNewCurrent 1 当前单元在最后一行,但没有 AddNew 操作处于待决。
'flexAddNewPending 2 当前单元在倒数第二行。这是是通过 MSHFlexGrid 用户接口由用户初始化一个待决的 AddNew 操作的结果,或者是编程地设置一个列的 Value 或 Text 属性的结果。
'
'
'AllowUserResizing 属性
'常数 值 描述
'flexResizeNone 0 用户不能使用鼠标调整大小。这是缺省设置值。
'flexResizeColumns 1 用户可以使用鼠标调整列的大小。
'flexResizeRows 2 用户可以使用鼠标调整行的大小。
'flexResizeBoth 3 用户可以使用鼠标调整列和行的大小。
'
'
'Appearance 属性
'常数 值 描述
'flexFlat 0 MSHFlexGrid 的全部外观是平面的或正常的。
'flex3D 1 MSHFlexGrid 的全部外观是三维的。
'
'
'BorderStyle 属性
'常数 值 描述
'flexBorderNone 0 没有边框。
'flexBorderSingle 1 有一个单边框。
'
'
'CellAlignment 属性
'常数 值 描述
'flexAlignLeftTop 0 单元内容顶部左对齐。
'flexAlignLeftCenter 1 单元内容中间左对齐。对字符串的缺省设置值。
'flexAlignLeftBottom 2 单元内容底部左对齐。
'flexAlignCenterTop 3 单元内容顶部居中。
'flexAlignCenterCenter 4 单元内容中间居中。
'flexAlignCenterBottom 5 单元内容底部居中。
'flexAlignRightTop 6 单元内容顶部右对齐。
'flexAlignRightCenter 7 单元内容中间右对齐。对数字的缺省设置值。
'flexAlignRightBottom 8 单元内容底部右对齐。
'flexAlignGeneral 9 单元内容一般对齐方式。对字符串中间左对齐而对数值中间右对齐。