首页 vsFlexGrid常用功能介绍

vsFlexGrid常用功能介绍

举报
开通vip

vsFlexGrid常用功能介绍vsFlexGrid常用功能介绍 vsFlexGrid是ComponentOne公司的一个ActiveX控件,它与MS的MSHFlexGrid控件在功能上是兼容的,即MSHFlexGrid所具备的属性和方法,它也都具备,只有少数几个属性名称略有不同,使用MSHFlexGrid编写的程序,只需要作较小的调整就可以转换过来;但相比MSHFlexGrid,vsFlexGrid多了很多功能,它的属性和事件非常丰富,可以实现非常灵活的控制和快捷的编码,下面主要对一些常用和实用的功能进行介绍: 一、数据批量操作 l  利用C...

vsFlexGrid常用功能介绍
vsFlexGrid常用功能介绍 vsFlexGrid是ComponentOne公司的一个ActiveX控件,它与MS的MSHFlexGrid控件在功能上是兼容的,即MSHFlexGrid所具备的属性和方法,它也都具备,只有少数几个属性名称略有不同,使用MSHFlexGrid编写的程序,只需要作较小的调整就可以转换过来;但相比MSHFlexGrid,vsFlexGrid多了很多功能,它的属性和事件非常丰富,可以实现非常灵活的控制和快捷的编码,下面主要对一些常用和实用的功能进行介绍: 一、数据批量操作 l  利用Cell属性批量存取数据 比如要清除一块区域的文本,或者设置一块区域的字体,不用循环处理,只需要一条语句就可以完成,如: vsFlexGrid.Cell(flexcpText,1,1,5,5) = “” ‘设置(1,1)-(5,5)这块单元格区域的文本都为空 vsFlexGrid.Cell(flexcpFontBold,1,1,5,5)=True ‘设置(1,1)-(5,5)这块单元格区域的字体都为粗体 类似还可以设置的有单元格对齐、图片、颜色等。 而语句:strText = vsFlexGrid.Cell(flexcpText,1,1,5,5) 返回一个用vbTab间隔列,vbCr间隔行的字符串,当然也可以反过来赋值,这样该区域内的每个单元格都可以赋不同的值。 l  使用-1对所有行列进行处理 RowHeight(-1)=300 ‘将所有行的高度设置为300Twip,可以类似使用的属性有: RowHidden,ColWidth,ColHidden,ColAlignment等 二、大量数据存放 vsFlexGrid可以存放数据的地方有:CellText,CellData,ColData,RowData 除了CellText是String类型外,其他都是Variant类型,也就是说你可以将任意类型的数据存放在表格中,比如日期(Date),类型变量(Type),集合(Collection),数组, 记录 混凝土 养护记录下载土方回填监理旁站记录免费下载集备记录下载集备记录下载集备记录下载 集(RecordSet),以及各种对象(Object),这对于关联数据比较多的程序非常有用。 注意:vsFlexGrid.Cell(flexcpText,1,1) = rsData!Name实际是存放了一个ADO.Field对象,应该使用CStr(rsData!Name)对类型进行明确。 三、编辑特性 vsFlexGrid的单元格是可以编辑的,并且有以下几种编辑形式: l  文本框:只要Editable设置为可编辑,每个单元格缺省就是TextBox编辑样式 l  下拉框: 设置当前单元格的ComboList属性或者指定列的ColComboList属性,即可实现VB.ComboBox样式的单元编辑,而且下拉界面中可以显示多列,如: vsFlexGrid.ComboList = _ “|#100*1;张三” & vbTab & “男” & vbTab & “28岁” & _ “|#101;李四” & vbTab & “男” & vbTab & “29岁” & _ “|#102;王五” & vbTab & “男” & vbTab & “30岁” 其中”|”间隔的是各行数据,vbTab间隔的是各列数据;第1个”|”表示下拉框可以输入,”#”后面的是每行的ItemData, 第一个ItemData后面”*1”表示是第1列的数据在选择后显示在ComboBox中。 l  复选框: 设置指定列的ColDataType = flexDTBoolean,或者指定当前元单格的CellChecked属性即可。 l  选择按钮: 设置当前单元格的ComboList属性或者指定列的ColComboList属性为”…”即可,主要配合CellButtonClick事件使用。 四、界面特性 1)         边框 除了表格线之外,vsFlexGrid还可以类似Excel一样,设置单元格式的边框线条,包括颜色、粗细,有无: VSFlexGrid.CellBorder Color As OLE_COLOR, Left As Integer, Top As Integer, Right As Integer, Bottom As Integer, Vertical As Integer, Horizontal As Integer 2)         自动行高,列宽 使用AutoSize方法,可以使列宽、或者行高根据单元格的内容进行自适应调整。 其中列宽也可以通过双击表头进行自适应调整。 3)         树形缩进(TreeList) 通过设置表格行的IsSubtotal、RowOutlineLevel属性,可以实现树形风格的缩进层次样式,这样vsFlexGrid就可以实现TreeView和ListView的结合。 4)         自绘 通过设置OwnerDraw属性,可对实现对单元格内容的自绘处理,主要结合DrawCell事件进行: DrawCell(ByVal hDC As Long, ByVal Row As Long, ByVal col As Long, ByVal left As Long, ByVal top As Long, ByVal right As Long, ByVal bottom As Long, done As Boolean) 5)         背景 可以为vsFlexGrid设置背景图,背景图相对单元格式内容是透明的,并且可以设置对齐和平铺属性。 6)         列排序,行、列拖动 设置vsFlexGrid.ExplorerBar属性,就可以实现类似Windows的资源管理器一样,点击列头进行列数据排序,或者用鼠标拖动改变列、行的顺序。 7)         冻结行列 除了固定行列头外,还可以类似Excel一样,通过vsFlexGrid.FrozenCols/FrozenRows设置冻结行列,冻结行列在滚动时,和固定行列是一样的效果,但是光标可以进入到冻结行列范围内的单元格中去。 五、丰富的事件控制: vsFlexGrid一共有50多个事件,这些事件主要用于编辑和界面控制,在使用过程中,经常可能会发现某个事件特别有用;因此充分利用这些事件,可以很方便地实现很多功能,下面是它支持的事件及对应列表,粗体是较常用的,从定义基本就可以看出它的作用;详细的事件说明,可以查看帮助。 l  AfterCollapse(ByVal Row As Long, ByVal State As Integer) l  AfterDataRefresh() l  AfterEdit(ByVal Row As Long, ByVal Col As Long) l  AfterMoveColumn(ByVal Col As Long, Position As Long) l  AfterMoveRow(ByVal Row As Long, Position As Long) l  AfterRowColChange(ByVal OldRow As Long, ByVal OldCol As Long, ByVal NewRow As Long, ByVal NewCol As Long) l  AfterScroll(ByVal OldTopRow As Long, ByVal OldLeftCol As Long, ByVal NewTopRow As Long, ByVal NewLeftCol As Long) l  AfterSelChange(ByVal OldRowSel As Long, ByVal OldColSel As Long, ByVal NewRowSel As Long, ByVal NewColSel As Long) l  AfterSort(ByVal Col As Long, Order As Integer) l  AfterUserFreeze() l  AfterUserResize(ByVal Row As Long, ByVal Col As Long) l  BeforeCollapse(ByVal Row As Long, ByVal State As Integer, Cancel As Boolean) l  BeforeDataRefresh(Cancel As Boolean) l  BeforeEdit(ByVal Row As Long, ByVal Col As Long, Cancel As Boolean) l  BeforeMouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single, Cancel As Boolean) l  BeforeMoveColumn(ByVal Col As Long, Position As Long) l  BeforeMoveRow(ByVal Row As Long, Position As Long) l  BeforePageBreak(ByVal Row As Long, BreakOK As Boolean) l  BeforeRowColChange(ByVal OldRow As Long, ByVal OldCol As Long, ByVal NewRow As Long, ByVal NewCol As Long, Cancel As Boolean) l  BeforeScroll(ByVal OldTopRow As Long, ByVal OldLeftCol As Long, ByVal NewTopRow As Long, ByVal NewLeftCol As Long, Cancel As Boolean) l  BeforeScrollTip(ByVal Row As Long) l  BeforeSelChange(ByVal OldRowSel As Long, ByVal OldColSel As Long, ByVal NewRowSel As Long, ByVal NewColSel As Long, Cancel As Boolean) l  BeforeSort(ByVal Col As Long, Order As Integer)
本文档为【vsFlexGrid常用功能介绍】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_624976
暂无简介~
格式:doc
大小:22KB
软件:Word
页数:7
分类:互联网
上传时间:2019-01-20
浏览量:53