以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  逻辑列问题  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=26096)

--  作者:实话实说
--  发布时间:2012/11/24 15:29:00
--  逻辑列问题

表中有两列:“审核”列和“记录”列,“审核”列为逻辑型,“记录”列为字符型。√选“审核”列,“记录”列自动留下当前用户名,通过代码设置实现没问题。现在将此两列绑定在窗口的控件中,再√选“审核”列,“记录”列没反应。我在“审核”的控件上设置如下代码也不行

Dim chk As WinForm.CheckBox
chk = Forms("不合格品处理").Controls("审核")
If chk.Checked = True  
    Forms("不合格品处理").Controls("记录") = _UserName & " " & Date.Now
Else   
    Forms("不合格品处理").Controls("记录") = Nothing
End If


--  作者:lin_hailun
--  发布时间:2012/11/24 15:51:00
--  
 我测试没有问题,楼主的狐表是否最新版本的?之前有个版本绑定列无效。
--  作者:狐狸爸爸
--  发布时间:2012/11/24 17:04:00
--  

呵呵,是控件的值等于,不是控件等于

 

Dim chk As WinForm.CheckBox
chk = Forms("不合格品处理").Controls("审核")
If chk.Checked = True  
    Forms("不合格品处理").Controls("记录").Value = _UserName & " " & Date.Now
Else   
    Forms("不合格品处理").Controls("记录").Value = Nothing
End If

 


--  作者:实话实说
--  发布时间:2012/11/24 17:56:00
--  

记录文本框还是没有反应

在表中操作 PrepareEdit事件正常

If e.Col.Name = "审核" Then
    If e.Row("审核") = True Then
       e.Row("记录") = _UserName & " " & Date.Now
    Else
       e.Row("记录") = Nothing
    End If
End If


--  作者:实话实说
--  发布时间:2012/11/24 18:27:00
--  
如果不绑定到表,文本框可正常显示,是否BUG. 我26日版本到期,急等.我用的是最新版
--  作者:程兴刚
--  发布时间:2012/11/24 18:37:00
--  

您自己的问题,代码要写在DataColChanged事件中,如下代码加绑定即可:

 

If e.dataCol.Name = "审核" Then
    If e.dataRow("审核") = True Then
        e.dataRow("记录") = _UserName & " " & Date.Now
    Else
        e.dataRow("记录") = Nothing
    End If
End If


--  作者:实话实说
--  发布时间:2012/11/24 18:56:00
--  

谢谢陈版