VSFlexGrid<编辑扩展类>

 

-----------本人开发的--VSFlexGrid<编辑扩展类>---------------

             ----------说明文档-----------------

'----------方法----------------------------------
' rt.AddRow   '在最后结尾处自动添加新行
' rt.SetImeForm   '在界面中设置列输入法
' rt.RemoveNullRow  '删除空的无效的行
' '-------属性------------------------
' rt.DownSpiralCount  '返回/设置 盘旋总次数   O.A = Count
' rt.DownSpiralRows    '设置 在那几行盘旋     O.A = Rows
' rt.EditCol           '返回/设置  编辑的列    字符串格式
' rt.EditColDef        '返回/设置  编辑列的默认值
' rt.EditCols          '返回 编辑列总数
' rt.EECol       '返回编辑的列     可遍历型 v = O.A(EditColIndex)
' rt.ErrBackColor      '返回/设置 错误行的背景色
' rt.ErrForeColor      '返回/设置 错误行的文字色
' rt.Grid              '设置表格控件到本类中

' rt.IsChange          '返回/设置 表格是否编辑过

'rt.IsNoBeep = True          '返回/设置 是否禁止警告音
' rt.IsErrRowValidate  '返回/设置 行验证错误时是否整行标记
' rt.IsNoEdit          '是否禁止编辑
' rt.IsNoEditColDefault  '返回/设置 是否禁止设置默认值
' rt.IsNoIme              '返回/设置 是否禁止表格列输入法设置
' rt.IsNoNewRow           '返回/设置 是否禁止在表格结尾自动添加新行
' rt.IsErrNoSetFocus      '返回/设置 是否验证错误时禁止本类中的表格控件转移焦点
' rt.IsTopSpiral          '返回/设置 是否禁止在表格顶部盘旋
' rt.IsValidate           '返回 当前编辑的内容是否通过验证了
' rt.LoadEditColDef       '设置 装入编辑列默认值字符串
' rt.LoadiME              '设置 装入编辑列输入法配置字符串
' rt.MouseRowBackColor    '返回/设置 行移动热追踪的背景色
' rt.MouseRowForeColor    '返回/设置 行移动热追踪的文字色
' rt.UpSpiralCount        ''返回/设置 按键弹起时在表格间使用键盘最后几行之间的盘旋次数
 ' '-------事件-----------------------
'Private Sub rt_ValidateRowEdit(ByVal SelRow As Long, ByVal SelCol As Long, ByVal Row As Long, ByVal Col As Long, Cancel As Boolean)
  '行验证事件-----离开行后发生
       'SelEditRow   最后编辑的行
       'SelEditCol   最后编辑的列
       'Row          当前行
       'Col         当前列
       'Cancel       是否禁止通过本次行验证
       'Cancel = true 则禁止通过行编辑验证
       '禁止后回到未通过编辑的行
'End Sub
'Private Sub rt_ChangeEdit(ByVal Row As Long, ByVal Col As Long, ByVal EditText As String, ByVal OldText As String, Cancel As Boolean, SetOldText As Boolean)
'编辑文本改变事件-------编辑的文本改变后发生
' Row    当前编辑的行
'Col     当前编辑的列
'EditText  当前编辑的文本
'OldText   上次通过验证时的文本
'Cancel    是否禁止通过编辑验证                          true 禁止通过
'SetOldText 未通过验证是否返回到上次通过验证的数据       true 返回上次验证通过的数据

'End Sub

'Private Sub rt_EvNewRow(ByVal Row As Long)
            '新增行事件
'End Sub

'Private Sub rt_SetImeSave(ByVal iMEText As String, ByVal IsNoIme As Boolean)
         '在界面中设置输入法后的通知事件 , 以便保存输入法配置文本
         'iMEText    输入法配置文本
         'IsNoIme    是否禁用输入法配置
'End Sub

'Private Sub rt_ValidateEdit(ByVal Row As Long, ByVal Col As Long, ByVal EditText As String, ByVal OldText As String, Cancel As Boolean, SetOldText As Boolean)
   '单元验证事件-----离开编辑单元后发生
   'Row  当前编辑行
   'Col   当前编辑列
   'EditText  当前编辑的文本
   'OldText   上次通过验证的文本
   'Cancel     是否禁止通过编辑验证                          true 禁止通过
   'SetOldText  未通过验证是否返回到上次通过验证的数据       true 返回上次验证通过的数据
'End Sub

'Private Sub rt_ValidateErrToolTip(ByVal EditMode As ToolTips, ByVal Row As Long, ByVal Col As Long, SetToolTipText As String)
    '发生编辑验证错误时在行中冒泡提醒事件-----编辑后验证未通过时发生
    'EditMode  发生错误验证的类型   0  文本改变验证  1  单元文本验证  2  行验证
    'Row  当前编辑行
    'Col   当前编辑列
    'SetToolTipText    设置 冒泡需要显示的字符串
    '作用---鼠标移动的错误行后冒泡显示错误的提示信息
'End Sub
'-----------------应用示例--------------------------
'Dim WithEvents rt As GridEdit
'Form_Load
'Set rt = New GridEdit
'Set rt.Grid = VSFlexGrid1
''---------以下均可设置编辑列--------------------------
'rt.EditCol = "2|3|6|8" ' 设置编辑的列
'rt.EditCol = "2,3,6,8" ' 设置编辑的列
''-----------设置编辑列默认值----------------------
'       '-------一列一列的设置---------------
'        rt.EditColDef(2) = 1
'        rt.EditColDef(4) = 5
'        rt.EditColDef(3) = "的凤飞飞"
'        rt.EditColDef(8) = "xyz"
'        '----------装入字符串配置进行设置-------这里装入后将覆盖以前的设置--------
'        rt.LoadEditColDef = "EditCol,默认值|EditCol,默认值|EditCol,默认值|EditCol,默认值"
'        rt.LoadEditColDef = "2,3|5,7|6,xyz|9,我问问"
''-------------装入输入法配置--------------------------
'        rt.LoadiME = "编辑列号,输入法<中/英>"   输入法<中英> = 0 or 1  ,0=英文   1 = 中文
'        rt.LoadiME = "EditCol,0/1|EditCol,0/1|EditCol,0/1|EditCol,0/1"
'End Sub

遍历可编辑的列

for i =0 to rt.EditCols-1

' EditCol=rt.EECol(EditColIndex))      

next i

'输入法设置界面

 

VSFlexGrid<编辑扩展类>_第1张图片

 

VSFlexGrid<编辑扩展类>_第2张图片

'编辑时标记错误行的颜色-并在此错误行冒泡----

'出现错误时,焦点单元移动不了

'如果是行验证未通过则行焦点移动不了,

'只有通过验证才可以编辑下一个单元或下一行的数据

 

VSFlexGrid<编辑扩展类>_第3张图片

 '

你可能感兴趣的:(VSFlexGrid<编辑扩展类>)