以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  还没保存的单元格可以编辑  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=84223)

--  作者:ljh29206
--  发布时间:2016/4/26 11:01:00
--  还没保存的单元格可以编辑
数据已经生成 一行

这行里面 有一列   为空

在填写数据后 还没保存前 这一列 可以随意修改

保存后就不能改  这个怎么搞?

--  作者:大红袍
--  发布时间:2016/4/26 11:08:00
--  

  startEdit 事件

 

If e.Col.name = "第一列" Then

    If e.Row.DataRow.OriginalValue("第一列") IsNot Nothing AndAlso e.Row.DataRow.OriginalValue("第一列") <> Nothing Then
        e.cancel = True
    End If
End If


--  作者:ljh29206
--  发布时间:2016/4/26 11:50:00
--  
袍哥 这个可以用  但有点不理解

.OriginalValue 记录初始值

开始的时候  为空值
 e.Row.DataRow.OriginalValue("第一列") <> Nothing Then     这个理解
e.cancel = true
endif                                                                             

e.Row.DataRow.OriginalValue("第一列") IsNot Nothing    这个不理解
如果有数 还没保存的时候   他应该是 isnot nothing 

但保存了之后  是什么状态?


       

--  作者:大红袍
--  发布时间:2016/4/26 11:56:00
--  
IsNot是针对新增行的,新增行的时候 e.Row.DataRow.OriginalValue("第一列") 的值是空对象来的。
--  作者:ljh29206
--  发布时间:2016/4/26 12:07:00
--  
<> nothing    与 isnot nothing  有什么区别
--  作者:大红袍
--  发布时间:2016/4/26 12:19:00
--  
以下是引用ljh29206在2016/4/26 12:07:00的发言:
<> nothing    与 isnot nothing  有什么区别

 

如果是一个对象,就要用 isnot,如果是一个值(日期、数字、字符等),就要用 <>