MSHFLEXGRID最近经常用到的一个控件,用来显示和操作表格数据,所以查找了它的一些用法。
1.属性
关于MSHFlexGrid的属性,在MSDN里面可以看到非常多,基本上都是与表格的显示和类型有关,像一些字体,颜色,对齐方式,等等。
2.事件
Collapse 用户折叠了网格的一行
Compare 当SORT属性被设置为CUSTOMERSORT,允许用户定义排序过程
EnterCell 当一个新的单元成为当前活动单元时
Expand 用户展开了网格的一行
LeaveCell 当一个新单元成为当前活动单元前
RowColChange 当一个新单元成为当前活动单元时
Scroll 用户用键盘,滚动条滚动网格的内容或网格的内容由程序滚动时
SelChangeEvent 一个新范围内的单元被选中
EnterCell,LeaveCell,RowColChange事件相互联系,因为字们都在当一个新单元成为当前活动单元时被激发,实际上这些事件的顺序是:LeaveCell,EnterCell然后是RowColChange。
Collapse和Expand事件在用户折叠或者展开网格的一行(BAND)时被激发。属性ROW和COL可以用来确定用户折叠或者展开的单元。
当SORT属性设置为9时,对网格的每两行发生一次COMPARE事件,用户排序方法使你可以选择按照午任意列或单元对行排序。注意,使用这种排序方式的速度会慢于BUILD-IN排序。
不论采用何种方式,只要对网格进行滚动时,SCROLL事件就会被激发。当SCROLLTRACK属性设置为TRUE时,如果用户用鼠标拖动或滚动时,该事件也被激发,如果SCROLLTRACK属性被设置为FALSE时,SCROLL事件只在拖动结束后激发一次。
当选择单元格变化时, SelChangeEvent事件会被激发,对选择的单元范围的改变,可以通过用户操作或程序代码来实现。
3.方法
AddItem 向网格中加入一新行
Clear 清除网格中的内容
ClearStructure 清除网格的结构(映射信息)
CollapseAll 折叠网格的某个特定的所有行
ExpandAll 展开网格的某个特定的所有行
RemoveItem 从网格中清除一行
方法AddItem和RemoveItem可以用来向网格中加入或删除行(BANDS)。如果折叠或展开某个BAND的所有行,则可以使用 COLLAPSEALL和EXPAANDALL方法。
方法CLEAR可以清除网格中的内容,但不影响网格的行,列数,如果要清除网格的结构,包括顺序及网格各列的名称,应当使用ClearStructure方法。