VSflexGrid的一些使用方法及属性
VSFLEXGrid控件概况
[主要特点]
VSFlexGrid Pro 7.0 是一功能强大的数据
格控件,高速、紧凑、灵活、轻便、无须依赖任何应用工具,支持数据化格式选项,能将表格列连接到图象列和墙纸属性上以提高应用工具的实现程度。如果应用工具无须数据库的支持,如果你的应用程序不需要数据库的支持,那么使用VSFlexGrid Pro新的非绑定版本可以使应用程序的
最小,而且发布应用程序时也不需要发布相应的ADO动态链接库. VSFlexGrid Pro 7.0可代替任何简单的列表框,浏览器,记事本等等,所以说它不仅仅只是一个表格控件。
FLexArray网格扩展控件
能够设置每个单元格的颜色和字体/能够对单元内容能进行快速有效的排序/设置RowPosition和ColPosition属性,即可在运行状态移动行列的位置/使用MergeCell属性,无须改写代码即可将内容一致的单元格加以合并/能够在
过程定义行列的页眉、宽度和位置,进行界面设计/改变缺省字体大小,能够自动调整与之相对应的单元格尺寸/支持2000行以上表格,单元格内容可达32k以上/能够进行行列的隐藏/能够进行字体的微调整(参考FontWidth属性)/具有多种多样的网格形式和色彩/支持图文混排/多种光标和被选择内容的显示方式等等。
FlexString字符串处理控件
能够设定检索字符串与置换字符串,在表格中找到与检索字符串相符的字符并将其置换为置换字符串中设置的字符/可以将检索字符串分成几个字段,给每个字段加入标签,使用标签代替字符串进行检索与置换/使用规范化表达式,规范化表达式是一个设定和匹配字符串的注释,类似于数学公式里的运算符。
[功能]
最新功能
提供了丰富的功能可以迅速创建灵活、功能强大的前端,无须用户额外支出。VSFlexGrid Pro 7.0 100%向下兼容VB环境下的MSFlexGrid,所以对于目前的版本升级非常容易。
提供的新功能可显示、模块编辑、格式化、组织、概括、打印表格数据。数据可以按条件初始化,对于超出指定范围的数据会加强表示。可用户化输入网格和单个单元外观几乎所有的方面,并利用相似值合并邻近单元,使得表格更容易读取分析。
支持ADO和OLE DB
VSFlexGrid Pro支持ADO和OLE DB,支持统一的字符编码以及DAO数据的存取,提供多重数据连接的选择。ADO/OLEDB、DAO可连接到二维、三维数组或其他VSFlexgrid控件,用户也可创建用户自己的数据源类。甚至可以在无界模式中使用表格,或将表格连接到变量数组及一用户可自己开发的数据源。
完整的打印功能
可以保存、检索多张表格和打印格式。最新的PrintGrid方法可让用户打印单条语句,能够控制纸张定位、
页边、文本字体,显示一对话框让用户选择设置打印机。同时也可控制页中断,添加表头,并在每一页上添加用户单元。
支持分层数据
可进行排序,模块编辑,转化组合框和图表框和自动数据聚合。甚至可使用VSFlexGrid Pro 分级显示数据。类似于树形控件,通过显示删除或扩张的结点用来表示含有附加数据的分支。分级显示树可在任一列中出现,甚至可出现在异步分支上。分级显示树的外观可用NodeOpenPicture 和NodeClosedPicture 的属性用户化。
更简单的版本
如果用户的应用工具无须数据库的支持,VSFlexGrid Pro包含了表格控件更简单的版本。使用VSFlexGrid Pro新的非绑定版本可以使应用程序的尺寸最小, 发布应用程序时也不需要发布相应的ADO动态链接库.消除了DLL版本的问题。
其他功能
合并单元
VSFlexGrid控件允许跨越多重行与列合并值相同的邻近单元。提高了数据在表格中显示,提高了数据的读取和分析。单元合并可用于创建合并的图表表头、合并的数据视图,以及创建能将文本溢出到相邻列的表格。
屏蔽模块
输入模板可说明自动控件以及有效数据的输入,减少了数据输入的错误。模块语法类似于Microsoft MaskedEdit 控件和Microsoft Access中的模块语法。
Component One Vs-Flex Grid pro 7.0
VB
网络控件和文本控件的扩展
版本:7.0
标准价格:41,300.00 元
使用权限:发布免费
近期推出Videosoft公司一款全新的ActiveX控件---VSFlexGridPro7.0。VSFlexGrid Pro 7.0 是一功能强大的数据表格控件,高速、紧凑、灵活、轻便、无须依赖任何应用工具,支持数据化格式选项,能将表格列连接到图象列和墙纸属性上以提高应用工具的实现程度。如果应用工具无须数据库的支持,如果你的应用程序不需要数据库的支持,那么使用VSFlexGrid Pro新的非绑定版本可以使应用程序的尺寸最小,而且发布应用程序时也不需要发布相应的ADO动态链接库. VSFlexGrid Pro 7.0可代替任何简单的列表框,浏览器,记事本等等,所以说它不仅仅只是一个表格控件。
[主要特点]
FLexArray网格扩展控件
能够设置每个单元格的颜色和字体/能够对单元内容能进行快速有效的排序/设置RowPosition和ColPosition属性,即可在运行状态移动行列的位置/使用MergeCell属性,无须改写代码即可将内容一致的单元格加以合并/能够在设计过程定义行列的页眉、宽度和位置,进行界面设计/改变缺省字体大小,能够自动调整与之相对应的单元格尺寸/支持2000行以上表格,单元格内容可达32k以上/能够进行行列的隐藏/能够进行字体的微调整(参考FontWidth属性)/具有多种多样的网格形式和色彩/支持图文混排/多种光标和被选择内容的显示方式等等
FlexString字符串处理控件
能够设定检索字符串与置换字符串,在表格中找到与检索字符串相符的字符并将其置换为置换字符串中设置的字符/可以将检索字符串分成几个字段,给每个字段加入标签,使用标签代替字符串进行检索与置换/使用规范化表达式,规范化表达式是一个设定和匹配字符串的注释,类似于数学公式里的运算符。
[新特性]
最新功能
提供了丰富的功能可以迅速创建灵活、功能强大的前端,无须用户额外支出。VSFlexGrid Pro 7.0 100%向下兼容VB环境下的MSFlexGrid,所以对于目前的版本升级非常容易。
提供的新功能可显示、模块编辑、格式化、组织、概括、打印表格数据。数据可以按条件初始化,对于超出指定范围的数据会加强表示。可用户化输入网格和单个单元外观几乎所有的方面,并利用相似值合并邻近单元,使得表格更容易读取分析。
支持ADO和OLE DB
VSFlexGrid Pro支持ADO和OLE DB,支持统一的字符编码以及DAO数据的存取,提供多重数据连接的选择。ADO/OLEDB、DAO可连接到二维、三维数组或其他VSFlexGrid控件,用户也可创建用户自己的数据源类。甚至可以在无界模式中使用表格,或将表格连接到变量数组及一用户可自己开发的数据源。
完整的打印功能
可以保存、检索多张表格和打印格式。最新的PrintGrid方法可让用户打印单条语句,能够控制纸张定位、页边、文本字体,显示一对话框让用户选择设置打印机。同时也可控制页中断,添加表头,并在每一页上添加用户单元。
支持分层数据
可进行排序,模块编辑,转化组合框和图表框和自动数据聚合。甚至可使用VSFlexGrid Pro 分级显示数据。类似于树形控件,通过显示删除或扩张的结点用来表示含有附加数据的分支。分级显示树可在任一列中出现,甚至可出现在异步分支上。分级显示树的外观可用NodeOpenPicture 和NodeClosedPicture 的属性用户化。
更简单的版本
如果用户的应用工具无须数据库的支持,VSFlexGrid Pro包含了表格控件更简单的版本。使用VSFlexGrid
Pro新的非绑定版本可以使应用程序的尺寸最小, 发布应用程序时也不需要发布相应的ADO动态链接库.消除了DLL版本的问题。
其他功能
合并单元
VSFlexGrid控件允许跨越多重行与列合并值相同的邻近单元。提高了数据在表格中显示,提高了数据的读取和分析。单元合并可用于创建合并的图表表头、合并的数据视图,以及创建能将文本溢出到相邻列的表格。
屏蔽模块
输入模板可说明自动控件以及有效数据的输入,减少了数据输入的错误。模块语法类似于Microsoft MaskedEdit 控件和Microsoft Access中的模块语法
[控件属性一览表]
FlexString控件属性一览表
Error失败时取得错误信息
MatchCount取得与检索条件相一致的字符串数量
MatchIndex设定与检索条件相一致的字符串的索引
MatchLength取得与检索条件相一致的字符串长度
MatchStart
取得与检索条件相一致的字符串起始位置
MatchString取得与检索条件相一致的字符串
Pattern 设定检索条件
Replace设定置换字符串
SoundexText取得代表当前检索字符的声音代码
TagCount取得与检索条件相一致的标签数量
TagIndex在多个标签情况下,设定/取得与检索条件相一致的标签索引
TagLength取得与检索条件相一致的标签长度
TagStart取得与检索条件相一致的标签起始位置
TagString取得与检索条件相一致的标签的字符串
Text设定成为检索对象
Version取得FlexString的版本号
FlexString控件属性一览表
AllowBigSelection设定行列头的选择
AllowUserResizing设定行列大小的设定
BackColor设定FlexArray所有表格的背景颜色
BackColorBkg设定背景颜色
BackColorFixed设定固定行/列的背景颜色
BackColorSel设定选择单元的背景颜色
CellAlignment设定单元里数据的排列方式
CellBackColor设定单元或指定范围的背景颜色CellFontBold把单元或指定范围的字体设定为黑体字CellFontItalic把单元或指定范围的字体设定为斜体字CellFontName设定单元或指定范围的字体
CellFontSize设定单元或指定范围字体的大小CellFontWidth设定单元或指定范围字体的宽度CellForeColor设定单元或指定范围字体的颜色
CellHeight返回当前单元的高度
CellLeft返回当前单元的左端位置
CellTop返回当前单元的顶端位置
CellWidth返回当前单元的宽度
CellPicture指定显示在单元或指定范围中的图片CellPicture
Alingment指定单元或范围中图片的显示位置CellTextStyle设定单元文本的显示形式
Clip<设定/返回选择范围的内容
Col设定/返回激活单元的列号
ColAlingment( )设定/返回列的排列方式
ColData( )设定/返回一个用户定义信息的长整形数据ColPosition( )移动列的位置
Cols指定返回列的总数
ColSel指定选择范
ColWidth( )设定所指定列的宽度
FillStyle指定是否改变当前单元或选择范围的内容或单元格式FixedCols设定固定列的总数
FixedRows设定固定行的总数
FocusRect设定选中单元周围的Focus Rectangle类型FontWidth设定字体的宽度
ForeColorFixed设定固定单元的文本颜色
ForeColorSel设定选择单元的文本颜色
FormatString在设计过程中设定列宽、排列方式及固定的行/列GridColor指定网格线的颜色
GridColorFixed设定固定网格线的颜色
GridLines指定网格线的类型
GridLinesFixed指定固定单元的网格线形式
HighLight设定是否突出显示选中单元
LeftCol指定显示在最左边的列
MergeCells设定是否合并内容相同的单元格
MergeCol( )设定指定列的单元合并
MergeRow( )设定指定行的单元合并
MouseCol设定鼠标指向的列号
MouseRow设定鼠标指向的行号
ReDraw设定是否刷新FlexArray控件
Picture返回FlexArray控件的图片
PictureType指定用Picture属性生成的图片类型
Row设定/返回激活单元的行号
RowData( )设定/返回一个用户定义信息的长整形数据
RowHeight( )设定指定行的高度
RowHeightMin设定行高的最小值
RowPosition( )移动行的位置
Rows指定行的总数
RowSel指定行的选择范围
SelectionMode设定行、列或单元的选择方式
ScrollBars设定卷动轴的类型
ScrollTrack设定卷动方式
Sort按照选择的基准重新排列行的顺序
Text设定/取得单元的文本
TextArray( )设定/取得任意单元的文本
TextMatrix( )设定/取得任意单元的文本
TextStyle显示单元中文本的3D效果
TextStyleFixed显示固定行/列中文本的3D效果
TopRow指定显示在最上面的行
Version
FlexArray控件的版本号
WordWrap设定单元中的文本是否换行
VSflexGrid的破解方法
注册方法:编辑注册表
HKEY_CLASSES_ROOT\Licenses\403E0785-49A9-11d3-9BD5-D2DC2DD96072
听过vsview7.0没有?这是破解方法,只需要在注册表里建立三个键就可以.如下: REGEDIT4
VSVIEW 7
[HKEY_CLASSES_ROOT\Licenses\04589820-F8F4-11d3-9A1F-AE842F4A083B] @=""
[HKEY_CLASSES_ROOT\Licenses\F403E0785-49A9-11d3-9BD5-D2DC2DD96072] @=""
[HKEY_CLASSES_ROOT\Licenses\403E0785-49A9-11d3-9BD5-D2DC2DD96072] @=""
------------------------------
把以上几个存为.reg,执行即可.不用去买什么破解文件。
在vsflexGrid中单元格输入完毕后,设置按回车键跳到同一行的下一个单元
Private Sub VSFlexGrid1_AfterEdit(ByVal Row As Long, ByVal Col As Long)
With VSFlexGrid1
If .Col = .Cols - 1 Then
''''如果到了最右边的列就跳到下一行第一个可非固定列
.Row = Row + 1
.Col = .FixedCols
Else
''''向右移动一列
.Col = Col + 1
End If
End With
End Sub
vsflexGrid 如何只能让某些特定列可编辑
''''修改前看到是否需要修改
Private Sub Grid_BeforeEdit(ByVal Row As Long, ByVal Col As Long, Cancel As Boolean)
''''On Error GoTo err
If UiI10101.valueInt > 2 Then ''''*************定义允许修改的状态,需修改 Cancel = True
Exit Sub
End If
If Grid.Col = Grid.cols - 8 Or Grid.Col = Grid.cols - 7 Then ''''*************定义可以修改的列,需修改
Cancel = False ''''使其有效
Else
Cancel = True ''''使其无效为真
End If
Exit Sub
Err:
RaiseErr "frmY005-Grid_MouseDown()"
End Sub
''''修改后判断是否合法
''''cancel=true 取消修改的
Private Sub Grid_ValidateEdit(ByVal Row As Long, ByVal Col As Long, Cancel As Boolean)
On Error Resume Next
If Not IsNumeric(Grid.EditText) Then
MsgBox "输入不合法,应输入一个数值", vbInformation, "提示"
Cancel = True
Exit Sub
End If
End Sub
''''修改后来更改别的一些数据
Private Sub Grid_AfterEdit(ByVal Row As Long, ByVal Col As Long)
On Error Resume Next
''''进货数量=包装数量* 整装数量+ 零装数量
Grid.TextMatrix(Row, Grid.cols - 6) = Grid.TextMatrix(Row, Grid.cols - 9) * Grid.TextMatrix(Row, Grid.cols - 8) + Grid.TextMatrix(Row, Grid.cols - 7)
End Sub
VSFLEXGRID7 中文输入法自动关闭问题提示
同种数据类型的单元格之间变换不要重启输入法.....
还有可以看看这代码
Private Declare Function GetKeyboardLayoutList Lib "user32" (ByVal nBuff As Long, _ lpList As Long) As Long
Private Declare Function GetKeyboardLayoutName Lib "user32" Alias "GetKeyboardLayoutNameA" _ (ByVal pwszKLID As String) As Long
Private Declare Function GetKeyboardLayout Lib "user32" (ByVal dwLayout As Long) As Long Private Declare Function ImmGetDescription Lib "imm32.dll" Alias "ImmGetDescriptionA" (ByVal _ hkl As Long, ByVal lpsz As String, ByVal uBufLen As Long) As Long
Private Declare Function ActivateKeyboardLayout Lib "user32" (ByVal hkl As Long, ByVal _ flags As Long) As Long
Const IME_CONFIG_GENERAL = 1
Const KLF_REORDER = &H8
Const KLF_ACTIVATE = &H1
Dim la(1 To 16) As Long ''''输入法列表
Dim ActIme As Long ''''当前输入法
Dim X% ''''当单前输入法数量
Private Sub Form_Load()
X = GetKeyboardLayoutList(32, la(1))
end sub
Private Sub vs1_AfterEdit(ByVal Row As Long, ByVal Col As long) ''''vsflexGrid 控件存在输入问题?以下为避免方法
Dim colNumber As Long
Dim i As Long
Dim strName$
if col=1 then
ActivateKeyboardLayout la(1), 1
else
ActivateKeyboardLayout la(2), 2
end if
end Sub
用.AddItem在最后一行显示数据
Rst_Hj.Open HjSQL, Cnn_Zl, ADOpenDynamic, adLockOptimistic ''RST_hj是合计的记录集
Main_YX.VSFlexGrid1.AddItem vbTab & vbTab & vbTab & vbTab & vbTab & vbTab & vbTab & vbTab & vbTab & vbTab & "合计" & vbTab & Rst_Hj.Fields(0) & vbTab & Rst_Hj.Fields(1) & vbTab &
Rst_Hj.Fields(2) & vbTab & Rst_Hj.Fields(3) ''VBTAB是跳过一格填写
Rst_Hj.Close
''删除连续选择的记录
If VSFlexGrid1.Row <> -1 And VSFlexGrid1.RowSel <> -1 Then
msg = MsgBox("你真的要删除这些记录吗?", vbYesNo + vbQuestion)
Select Case msg
Case vbYes
For I = VSFlexGrid1.Row To VSFlexGrid1.RowSel
Str = Str + VSFlexGrid1.TextMatrix(I, 1) + ","
Next
Str = Mid(Str, 1, Len(Str) - 1)
Cmd_Zl.ActiveConnection = Cnn_Zl
Cmd_Zl.CommandText = "delete from zlk where 序号in (" + Str + ")"
Cmd_Zl.Execute
Set Cmd_Zl = Nothing
Case vbNo
Command6.Enabled = True
Rst_Zl.Close
Exit Sub
End Select
Else
MsgBox "请选择您要删除的记录!!!", vbExclamation
Exit Sub
End If
960521,提供的“如何设置vsflexGrid某行背景色”:
VSFlexGrid1.Cell(flexcpBackColor, Row1, col1,row2, col2) = vbRed
例:设置第三行北景色为红
VSFlexGrid1.Cell(flexcpBackColor, 3, 1, 3, VSFlexGrid1.Cols - 1) = vbRed