以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]文本框里面记录log该如何做?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=58595)

--  作者:liujywwy
--  发布时间:2014/10/20 14:47:00
--  [求助]文本框里面记录log该如何做?

我知道在某一列里面记录log是没问题的。

现在如果对文本框里面需要记录对某一行数据操作后的信息录入。该如何做?

比如附件。

当我没有选择审核通过或者审核未过,那么log记录就是为空。

当我选择了审核通过或者审核未过,那么log需要记录登录用户名 时间 需求编号 审核通过或者审核未过。

 


图片点击可在新窗口打开查看此主题相关图片如下:log.png
图片点击可在新窗口打开查看

--  作者:Bin
--  发布时间:2014/10/20 14:52:00
--  
在DataColChanged里写代码记录不就好了吗? 就算用绑定列的文本框也一样会触发DataColChanged的啊
--  作者:有点甜
--  发布时间:2014/10/20 14:54:00
--  
 点击的时候给log赋值,做什么操作的时候,都赋值。
--  作者:blackzhu
--  发布时间:2014/10/20 15:01:00
--  
帮助的

创建操作日志


--  作者:liujywwy
--  发布时间:2014/10/20 15:39:00
--  

奇怪,好像并没有赋值。请看红色的代码。哪里有问题?

Dim TextBox1 As String
Dim r As Row = Tables("需求主表").Current

If e.DataCol.name="审核通过" Then
    If e.DataRow("审核通过") Then
        If r.IsNull("邮件通知") = True OrElse r.IsNull("研发邮箱") = True Then
            MessageBox.show("邮件通知和研发邮箱不能为空,请检查","博达软件管理系统",MessageBoxButtons.OK,MessageBoxIcon.Warning)
            e.DataRow("审核通过") = "false"
        Else
            If MessageBox.show("请核实已审核的需求","博达软件管理系统",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)=DialogResult.OK Then
                Dim m As New MailSender
                m.Host = "mail.bdcom.com.cn"
                m.Account = "version@bdcom.com.cn"
                m.Password = "version"
                m.From = "version@bdcom.com.cn"
                m.To = r("邮件通知").Replace(vbcrlf, ",").Replace(chr(13), ",").Replace(chr(10), ",")
                If r.IsNull("研发邮箱") = False Then
                    m.AddReceiver(r("研发邮箱").Replace(vbcrlf, ",").Replace(chr(13), ",").Replace(chr(10), ","))
                End If
                If r.IsNull("附加通知人员") = False Then
                    m.AddReceiver(r("附加通知人员").Replace(vbcrlf, ",").Replace(chr(13), ",").Replace(chr(10), ","))
                End If
                m.Title = "博达软件管理系统= = = = = = =" & "需求编号:" & r("需求编号") & "-----此需求已审核,请研发和测试尽快处理"
                m.C & r("需求编号") & "      期望交期:"  & r("期望交期")
                m.Send
                MessageBox.show("需求编号:" & r("需求编号") & "------>" & "此需求已审核通过并mail通知了相关研发测试人员!","博达软件管理系统")
                TextBox1 = User.Name & " " & Date.Now & " " & e.DataRow("需求编号") & e.DataRow("审核通过")
                Select Case e.DataCol.Name
                    Case "审核通过"
                        Tables("需求主表").Filter = "审核通过 = False And  审核不通过 = False"
                End Select
                For Each cdr As DataRow In r.DataRow.GetChildRows("需求明细表")
                    cdr("状态") = r("审核通过")
                Next
                If r.DataRow.GetChildRows("临时版本跟踪表").Count = 0 Then
                    Dim dr As DataRow = DataTables("临时版本跟踪表").AddNew()
                    dr("需求编号") = r("需求编号")
                End If
            Else
                e.DataRow("审核通过") = False
            End If
        End If
    End If
End If
DataTables.Save()

If e.DataCol.name="审核不通过" Then
    If e.DataRow("审核不通过") Then
        If r.IsNull("审核未通过原因") = True Then
            MessageBox.show("请检查,审核未通过原因列不能为空","博达软件管理系统",MessageBoxButtons.OK,MessageBoxIcon.Warning)
            e.DataRow("审核不通过") = "false"
        Else
            If MessageBox.show("请核实未审核通过的需求","博达软件管理系统",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)=DialogResult.OK Then
                Dim m As New MailSender
                m.Host = "mail.bdcom.com.cn"
                m.Account = "version@bdcom.com.cn"
                m.Password = "version"
                m.From = "version@bdcom.com.cn"
                m.To = r("技术支持邮箱")
                m.Title ="博达软件管理系统= = = = = = =" & "需求编号:" & r("需求编号") & "-----此需求审核未通过,请地方技术支持修改并再次提交需求"
                m.C & r("需求编号") & "      审核未通过原因:"  & r("审核未通过原因")
                m.Send
                MessageBox.show("需求编号:" & r("需求编号") & "------>" & "此需求未审核通过并mail通知了需求提交人员!","博达软件管理系统")
                TextBox1 = User.Name & " " & Date.Now & " " & e.DataRow("需求编号") & e.DataRow("审核不通过")
                Select Case e.DataCol.Name
                    Case "审核不通过"
                        Tables("需求主表").Filter = "审核通过 = False And  审核不通过 = False"
                End Select
                For Each cdr As DataRow In r.DataRow.GetChildRows("需求明细表")
                    cdr("状态") = r("审核通过")
                Next
            Else
                e.DataRow("审核不通过") = False
            End If
        End If
    End If
End If


--  作者:有点甜
--  发布时间:2014/10/20 15:47:00
--  
 你TextBox1用来做什么?你最后赋值给log列了么
--  作者:liujywwy
--  发布时间:2014/10/20 15:49:00
--  

哦。我不是增加的log列,我是在文本框记录log的。文本框的名称是Text.Box1.

是不是在文本框记录log是不行的?一定要在log列里面记录。


--  作者:有点甜
--  发布时间:2014/10/20 15:56:00
--  

 要赋值

 

Forms("窗口1").Controls("TextBox1").Text = TextBox1


--  作者:liujywwy
--  发布时间:2014/10/20 16:08:00
--  

这样赋值是可以的。

但是呢,并不是针对当前行的。点击其他行,log记录并没有改变。

我想的效果是选择了某一行,就可以看到这行的log记录。记录是根据选择的行来动态显示的。


--  作者:有点甜
--  发布时间:2014/10/20 16:17:00
--  

 那你就要给log列赋值啊。

 

 文本框绑定log列。