资源描述:
《vsflexgrid常用功能介绍》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、vsFlexGrid常用功能介绍vsFlexGrid是ComponentOne公司的一个ActiveX控件,它与MS的MSHFlexGrid控件在功能上是兼容的,即MSHFlexGrid所具备的属性和方法,它也都具备,只有少数几个属性名称略有不同,使用MSHFlexGrid编写的程序,只需要作较小的调整就可以转换过来;但相比MSHFlexGrid,vsFlexGrid多了很多功能,它的属性和事件非常丰富,可以实现非常灵活的控制和快捷的编码,下面主要对一些常用和实用的功能进行介绍:一、数据批量操作l 利用Cell属性批量
2、存取数据比如要清除一块区域的文本,或者设置一块区域的字体,不用循环处理,只需要一条语句就可以完成,如: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)返回一个
3、用vbTab间隔列,vbCr间隔行的字符串,当然也可以反过来赋值,这样该区域内的每个单元格都可以赋不同的值。l 使用-1对所有行列进行处理RowHeight(-1)=300‘将所有行的高度设置为300Twip,可以类似使用的属性有:RowHidden,ColWidth,ColHidden,ColAlignment等 二、大量数据存放vsFlexGrid可以存放数据的地方有:CellText,CellData,ColData,RowData除了CellText是String类型外,其他都是Variant类型,也就是说你可
4、以将任意类型的数据存放在表格中,比如日期(Date),类型变量(Type),集合(Collection),数组,记录集(RecordSet),以及各种对象(Object),这对于关联数据比较多的程序非常有用。 注意:vsFlexGrid.Cell(flexcpText,1,1)=rsData!Name实际是存放了一个ADO.Field对象,应该使用CStr(rsData!Name)对类型进行明确。 三、编辑特性vsFlexGrid的单元格是可以编辑的,并且有以下几种编辑形式:l 文本框:只要Editable设置为可编辑
5、,每个单元格缺省就是TextBox编辑样式l 下拉框:设置当前单元格的ComboList属性或者指定列的ColComboList属性,即可实现VB.ComboBox样式的单元编辑,而且下拉界面中可以显示多列,如:vsFlexGrid.ComboList=_“
6、#100*1;张三”&vbTab&“男”&vbTab&“28岁”&_“
7、#101;李四”&vbTab&“男”&vbTab&“29岁”&_“
8、#102;王五”&vbTab&“男”&vbTab&“30岁”其中”
9、”间隔的是各行数据,vbTab间隔的是各列数据;第1个”
10、
11、”表示下拉框可以输入,”#”后面的是每行的ItemData,第一个ItemData后面”*1”表示是第1列的数据在选择后显示在ComboBox中。 l 复选框:设置指定列的ColDataType=flexDTBoolean,或者指定当前元单格的CellChecked属性即可。l 选择按钮:设置当前单元格的ComboList属性或者指定列的ColComboList属性为”…”即可,主要配合CellButtonClick事件使用。 四、界面特性1) 边框除了表格线之外,vsFlexGrid还可以类似Exce
12、l一样,设置单元格式的边框线条,包括颜色、粗细,有无:VSFlexGrid.CellBorderColorAsOLE_COLOR,LeftAsInteger,TopAsInteger,RightAsInteger,BottomAsInteger,VerticalAsInteger,HorizontalAsInteger 2) 自动行高,列宽使用AutoSize方法,可以使列宽、或者行高根据单元格的内容进行自适应调整。其中列宽也可以通过双击表头进行自适应调整。 3) 树形缩进(TreeList
13、)通过设置表格行的IsSubtotal、RowOutlineLevel属性,可以实现树形风格的缩进层次样式,这样vsFlexGrid就可以实现TreeView和ListView的结合。 4) 自绘通过设置OwnerDraw属性,可对实现对单元格内容的自绘处理,主要结合DrawCell事件进行:DrawCell(ByV