BeforeSelChange

选择不同的单元格前执行,也就是表的RowSelColSel属性发生变化前执行。

e参数属性:

Table:   引发事件的Table
OldRange:CellRange类型,表示操作前选定的区域
NewRange: CellRange类型,表示操作后选定的区域
Cancel:  逻辑型,设为True取消操作

示例一

例如希望某个表在换行前保存选定行,可以将其BeforeSelChange事件代码设置为:

If e.OldRange.RowSel <> e.NewRange.RowSel '如果选择的是不同的行
   
If e.OldRange.RowSel >= 0 AndAlso e.OldRange.Rowsel < e.Table.Rows.Count Then '而且原来选择的是一个有效的数据行
       
Dim r As Row = e.Table.Rows(e.OldRange.Rowsel) '获得原来选择的行
       
r.Save() '保存之
   
End If
End
If

示例二

如果没有输入编号列内容,则禁止选择其它行
 

If e.OldRange.RowSel <> e.NewRange.RowSel '如果选择的是不同的行
   
If e.OldRange.RowSel >= 0 AndAlso e.OldRange.Rowsel < e.Table.Rows.Count Then '而且原来选择的是一个有效的数据行
       
Dim r As Row = e.Table.Rows(e.OldRange.Rowsel) '获得原来选择的行
       
If r.IsNull("编号") Then  '如果编号为空
           
e.Cancel = True
       
End If
   
End If
End
If


本页地址:http://www.foxtable.com/webhelp/topics/0644.htm