Foxtable(狐表)用户栏目专家坐堂 → [求助]记录框的状态切换咋就不行了呢?


  共有2858人关注过本帖树形打印复制链接

主题:[求助]记录框的状态切换咋就不行了呢?

帅哥哟,离线,有人找我吗?
liujywwy
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:633 积分:4034 威望:0 精华:0 注册:2014/6/23 10:27:00
[求助]记录框的状态切换咋就不行了呢?  发帖心情 Post By:2014/11/20 17:41:00 [只看该作者]

在临时版本跟踪表。之前在记录框的状态栏选择各种状态都是可以的,现在怎么就不行了呢?

 

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:临时版本跟踪系统26.rar


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/20 17:52:00 [只看该作者]

 你的datacolchanging事件有这样一句代码,如果不是录入,就取消选择了

 

If e.DataCol.name = "状态"  Then
    If user.Group<>"录入" Then
        e.cancel=True
    End If
End If


 回到顶部
帅哥哟,离线,有人找我吗?
liujywwy
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:633 积分:4034 威望:0 精华:0 注册:2014/6/23 10:27:00
  发帖心情 Post By:2014/11/20 17:57:00 [只看该作者]

以下是引用有点甜在2014-11-20 17:52:00的发言:

 你的datacolchanging事件有这样一句代码,如果不是录入,就取消选择了

 

If e.DataCol.name = "状态"  Then
    If user.Group<>"录入" Then
        e.cancel=True
    End If
End If

哦。那应该是这段代码影响的,直接去掉。

另外的问题,为什么在需求明细表点击了通过,在临时版本跟踪表的log就没有记录。之前是有的。难道又是哪句代码影响了?


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/20 18:04:00 [只看该作者]

  如果你先记录log,两种方法

 

1、去掉systemReady

            'SystemReady =  False
            DataTables("临时版本跟踪表").ReplaceFor("状态", "Confirmed", "需求编号 = '" & r("需求编号") & "'")
            DataTables("临时版本跟踪表").SQLReplaceFor("状态", "Confirmed", "需求编号 = '" & r("需求编号") & "'")
            DataTables("临时版本跟踪表").ReplaceFor("已确认可以发布", "True", "需求编号 = '" & r("需求编号") & "'")
            DataTables("临时版本跟踪表").SQLReplaceFor("已确认可以发布", "True", "需求编号 = '" & r("需求编号") & "'")
            'SystemReady = True
2、在事件里直接给Log列赋值,因为如果用了systemready那么datacolchanged事件是不会触发的


 回到顶部
帅哥哟,离线,有人找我吗?
liujywwy
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:633 积分:4034 威望:0 精华:0 注册:2014/6/23 10:27:00
  发帖心情 Post By:2014/11/20 18:13:00 [只看该作者]

以下是引用有点甜在2014-11-20 18:04:00的发言:

  如果你先记录log,两种方法

 

1、去掉systemReady

            'SystemReady =  False
            DataTables("临时版本跟踪表").ReplaceFor("状态", "Confirmed", "需求编号 = '" & r("需求编号") & "'")
            DataTables("临时版本跟踪表").SQLReplaceFor("状态", "Confirmed", "需求编号 = '" & r("需求编号") & "'")
            DataTables("临时版本跟踪表").ReplaceFor("已确认可以发布", "True", "需求编号 = '" & r("需求编号") & "'")
            DataTables("临时版本跟踪表").SQLReplaceFor("已确认可以发布", "True", "需求编号 = '" & r("需求编号") & "'")
            'SystemReady = True
2、在事件里直接给Log列赋值,因为如果用了systemready那么datacolchanged事件是不会触发的

主要是如果去掉了systemready,在需求明细表点击通过,未过,取消后。在临时版本跟踪表状态栏值不会改变。就会导致loadfilter出问题。


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/20 19:07:00 [只看该作者]

 

[此贴子已经被作者于2014-11-20 19:06:41编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/20 19:09:00 [只看该作者]

 那你就用方法二,在代码那里,先查找对应的行,然后给log列赋值

 

 http://www.foxtable.com/help/topics/0396.htm

 


 回到顶部
帅哥哟,离线,有人找我吗?
liujywwy
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:633 积分:4034 威望:0 精华:0 注册:2014/6/23 10:27:00
  发帖心情 Post By:2014/11/21 9:42:00 [只看该作者]

以下是引用有点甜在2014-11-20 19:09:00的发言:

 那你就用方法二,在代码那里,先查找对应的行,然后给log列赋值

 

 http://www.foxtable.com/help/topics/0396.htm

 

这样应该对了吧

DataTables.save()
If e.Sender.Checked Then
    Dim r As Row = Tables("需求明细表").Current
    If r IsNot Nothing Then
        If MessageBox.show("确认此版本现场测试通过?","博达软件管理系统",MessageBoxButtons.OKCancel,MessageBoxIcon.Question)=DialogResult.OK Then
            SystemReady =  False
            DataTables("临时版本跟踪表").ReplaceFor("状态", "Confirmed", "需求编号 = '" & r("需求编号") & "'")
            DataTables("临时版本跟踪表").SQLReplaceFor("状态", "Confirmed", "需求编号 = '" & r("需求编号") & "'")
            DataTables("临时版本跟踪表").ReplaceFor("已确认可以发布", "True", "需求编号 = '" & r("需求编号") & "'")
            DataTables("临时版本跟踪表").SQLReplaceFor("已确认可以发布", "True", "需求编号 = '" & r("需求编号") & "'")
            Dim dr  As  DataRow
            dr = DataTables("临时版本跟踪表").Find("需求编号 = '" & r("需求编号") & "'")
            If dr("状态") = "Confirmed" Then
                If dr.IsNull("Log") = False Then
                    dr("log") = User.Name & " " & Date.Now & " " & dr("状态") & vbcrlf & dr("log")
                Else
                    dr("log") = User.Name & " " & Date.Now & " " & dr("状态")
                End If
            End If
            SystemReady = True
            Forms("发送mail").open
            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"
            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
            If r.IsNull("技术支持邮箱") = False Then
                m.AddReceiver(r("技术支持邮箱").Replace(vbcrlf, ",").Replace(chr(13), ",").Replace(chr(10), ","))
            End If
            If r.IsNull("退回通知") = False Then


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/21 9:45:00 [只看该作者]

 对不对你不会测试下么?

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/11/21 9:48:00 [只看该作者]

Dim dr As  DataRow
dr = DataTables("临时版本跟踪表").Find("需求编号 = '" & r("需求编号") & "'")
If dr Is Nothing Then
    dr = DataTables("临时版本跟踪表").SQLFind("需求编号 = '" & r("需求编号") & "'")
End If
If dr IsNot Nothing Then
   
    If dr.IsNull("Log") = False Then
        dr("log") = User.Name & " " & Date.Now & " " & dr("状态") & vbcrlf & dr("log")
    Else
        dr("log") = User.Name & " " & Date.Now & " " & dr("状态")
    End If
    dr.save
End If

 回到顶部