本文主要是介绍FlexGrid合并单元格,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
FlexGrid合并单元格
FlexGrid版本: PowerTools FlexGrid for .NET 4.0J
开发语言: VB.NET
作成日期: 2007年5月15日
在WinForm的开发中,经常会用到FlexGrid控件,用于显示数据和编辑数据,合并单元格也是经常用到的。
1.单元格自动合并
C1FlexGrid 一帮情况下对于各单元格可以在行方向和列方向合并单元格,行或者列的AllowMerging的属性设置为True的时候,相邻的单元格内容如果相同,那么就会自动合并这两个单元格。此例为列方向自动合并。
行方向合并时,针对要合并的行进行设置。如 C1FlexGrid1.Rows(rownm).AllowMerging = True,其中rownm为行号。
另外、AllowMerging的属性设置为Spill (AllowMergingEnum 枚举型)的时候、如果一个单元格内的文字列长度大于单元格的长度时、相邻的单元格 (必须是空白单元格) 。参照【cccccccc】和【dddd】
2.手动指定单元格合并
使用GetCellRange方法可以手动指定需要合并的单元格
代码如下
Dim cr As C1.Win.C1FlexGrid.CellRange
cr = C1FlexGrid1.GetCellRange( 1 , 2 , 1 , 3 )
C1FlexGrid1.MergedRanges.Add(cr)
cr = C1FlexGrid1.GetCellRange( 2 , 1 , 3 , 2 )
C1FlexGrid1.MergedRanges.Add(cr)
cr = C1FlexGrid1.GetCellRange( 2 , 4 , 3 , 4 )
C1FlexGrid1.MergedRanges.Add(cr)
cr = C1FlexGrid1.GetCellRange( 4 , 1 , 5 , 5 )
C1FlexGrid1.MergedRanges.Add(cr)
cr = C1FlexGrid1.GetCellRange( 1 , 6 , 5 , 7 )
C1FlexGrid1.MergedRanges.Add(cr)
3.Header部的单元格合并
同样用GetCellRange方法
代码如下
Dim cr As C1.Win.C1FlexGrid.CellRange
cr = C1FlexGrid1.GetCellRange( 0 , 0 , 6 , 0 )
cr.StyleNew.TextAlign = C1.Win.C1FlexGrid.TextAlignEnum.CenterCenter
C1FlexGrid1.MergedRanges.Add(cr)
cr = C1FlexGrid1.GetCellRange( 0 , 1 , 0 , 5 )
cr.StyleNew.TextAlign = C1.Win.C1FlexGrid.TextAlignEnum.CenterCenter
C1FlexGrid1.MergedRanges.Add(cr)
cr = C1FlexGrid1.GetCellRange( 1 , 1 , 1 , 2 )
cr.StyleNew.TextAlign = C1.Win.C1FlexGrid.TextAlignEnum.CenterCenter
C1FlexGrid1.MergedRanges.Add(cr)
cr = C1FlexGrid1.GetCellRange( 2 , 1 , 3 , 2 )
cr.StyleNew.TextAlign = C1.Win.C1FlexGrid.TextAlignEnum.CenterCenter
C1FlexGrid1.MergedRanges.Add(cr)
cr = C1FlexGrid1.GetCellRange( 1 , 3 , 3 , 5 )
cr.StyleNew.TextAlign = C1.Win.C1FlexGrid.TextAlignEnum.CenterCenter
C1FlexGrid1.MergedRanges.Add(cr)
cr = C1FlexGrid1.GetCellRange( 5 , 1 , 6 , 1 )
cr.StyleNew.TextAlign = C1.Win.C1FlexGrid.TextAlignEnum.CenterCenter
C1FlexGrid1.MergedRanges.Add(cr)
cr = C1FlexGrid1.GetCellRange( 4 , 2 , 6 , 2 )
cr.StyleNew.TextAlign = C1.Win.C1FlexGrid.TextAlignEnum.CenterCenter
C1FlexGrid1.MergedRanges.Add(cr)
C1FlexGrid1.Rows( 0 ).Item( 0 ) = " A "
C1FlexGrid1.Rows( 0 ).Item( 1 ) = " B "
C1FlexGrid1.Rows( 1 ).Item( 1 ) = " C "
C1FlexGrid1.Rows( 2 ).Item( 1 ) = " D "
C1FlexGrid1.Rows( 1 ).Item( 3 ) = " E "
C1FlexGrid1.Rows( 5 ).Item( 1 ) = " F "
C1FlexGrid1.Rows( 4 ).Item( 2 ) = " G "
这篇关于FlexGrid合并单元格的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!