OriginalValue

获得指定列在打开项目后的初始值,或最近一次保存后的值。

一般用户可以忽略此节内容。
如果还没有接触事件编程,也请暂时忽略此节内容。

示例一

我们知道Foxtable有修改标记功能,能用红底白字标出那些 已经被修改过的单元格。
其实我们可以不用Foxtable内置的修改编辑功能,自己编码实现,过程很简单:

1、新增一个自定义样式,红底白字,假定样式名为"a"

2、将DrawCell事件代码设置为:

If e.Row(e.Col.Name) <> e.Row.DataRow.OriginalValue(e.Col.Name) Then
   
e.Style = "a"
End
If

示例二

假定禁止将第一列的内容由"A"改为"B",通常我们会在DataColChanging事件中编写代码:

Select Case e.DataCol.name
    Case
"
第一列"
        If e.OldValue = "A" AndAlso e.NewValue = "B" Then
           
e.Cancel = True
        End
If

End
Select

但是用户可以很容易绕开上述设置,例如可以先将"A"改为"C",再改为B即可。

所以更为“完善”的代码是:

Select Case e.DataCol.name
    Case
"
第一列"
        If e.DataRow.OriginalValue(
"
第一列") = "A" AndAlso e.NewValue = "B" Then
           
e.Cancel = True
        End
If

End
Select


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