Foxtable(狐表)用户栏目专家坐堂 → [求助]rediobutton只对状态为confirming有效,其他的为无效为灰色,不可选择


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

主题:[求助]rediobutton只对状态为confirming有效,其他的为无效为灰色,不可选择

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


加好友 发短信
等级:三尾狐 帖子:633 积分:4034 威望:0 精华:0 注册:2014/6/23 10:27:00
[求助]rediobutton只对状态为confirming有效,其他的为无效为灰色,不可选择  发帖心情 Post By:2014/9/10 15:17:00 [只看该作者]

在需求明细表有2个rediobutton,一个为通过,一个为未过。

后面经过测试,发现点击需求编号,这2个rediobutton是可以选择的。当点击除需求编号外的列,这2个rediobutton是灰色的不可以选择的。

我现在希望的是,只有状态为confirming才可以选择rediobutton。请帮忙看看。

If Forms("需求明细表").Opened Then
   
    Forms("需求明细表").Controls("通过").Enabled = e.Row("状态") = "confirming"
    Forms("需求明细表").Controls("未过").Enabled = e.Row("状态") = "confirming"
   
End If


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

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


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


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

窗口afterload加入代码

 

If Forms("需求明细表").Opened Then
    Forms("需求明细表").Controls("通过").Enabled = Tables("需求明细表").Current("状态") = "confirming"
    Forms("需求明细表").Controls("未过").Enabled = Tables("需求明细表").Current("状态") = "confirming"   
End If


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/9/10 15:27:00 [只看该作者]

CUrrentChanged也要加入这个代码

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


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

以下是引用有点甜在2014-9-10 15:23:00的发言:

窗口afterload加入代码

 

If Forms("需求明细表").Opened Then
    Forms("需求明细表").Controls("通过").Enabled = Tables("需求明细表").Current("状态") = "confirming"
    Forms("需求明细表").Controls("未过").Enabled = Tables("需求明细表").Current("状态") = "confirming"   
End If

当某一行状态由Confirming变为空,再变为Bound,此时状态为Bound,发现2个rediobutton都是可以选择的。


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2014/9/10 15:41:00 [只看该作者]

那DataColChanged事件也要放入代码

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


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

afterload代码如下:我刚才清空了数据,然后再次打开工程,点击需求明细录入,报错了。如附件。

DataTables.Save()
e.Form.Controls("Table1").Table.ListMode = True
DataTables("需求明细表").SysStyles("CurrentRow").BackColor = Color.DarkOrange
Dim kh As WinForm.ComboBox = e.Form.Controls("客户")
kh.ComboList=DataTables("需求明细表").GetComboListString("客户")
Tables("需求明细表").Filter=""


With DataTables("需求明细表")
        .LoadOver = "需求编号"
        .LoadReverse=True
        .LoadTop =  30
        .LoadPage =  0
        .Load()
End  With

If Forms("需求明细表").Opened Then
    Forms("需求明细表").Controls("通过").Enabled = Tables("需求明细表").Current("状态") = "confirming"
    Forms("需求明细表").Controls("未过").Enabled = Tables("需求明细表").Current("状态") = "confirming"   
End If


此主题相关图片如下:报错.png
按此在新窗口浏览图片

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


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

If Tables("需求明细表").Current IsNot Nothing Then
    Forms("需求明细表").Controls("通过").Enabled = Tables("需求明细表").Current("状态") = "confirming"
    Forms("需求明细表").Controls("未过").Enabled = Tables("需求明细表").Current("状态") = "confirming"   
End If

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


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

If e.DataCol.Name = "需求编号" Then
    If e.NewValue Is Nothing Then
        e.DataRow("技术支持邮箱") = Nothing
        e.DataRow("研发邮箱") = Nothing
        e.DataRow("期望交期") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("需求明细表").Find("[需求编号] = '" & e.NewValue & "'")
        If dr IsNot Nothing
            e.DataRow("技术支持邮箱") = dr("技术支持邮箱")
            e.DataRow("研发邮箱") = dr("研发邮箱")
            e.DataRow("期望交期") = dr("版本期望交期")
        End If
    End If
End If

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

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("邮件通知").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通知了相关研发测试人员!","博达软件管理系统")
                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通知了需求提交人员!","博达软件管理系统")
                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
DataTables.Save()

点击审核,发现报错,如附件。看不懂出错原因,之前一直没有出过这样的报错。

 


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

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

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


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

datacolchanged加入的代码如下

 

If Forms("需求明细表").Opened Then
    Forms("需求明细表").Controls("通过").Enabled = e.DataRow("状态") = "confirming"
    Forms("需求明细表").Controls("未过").Enabled = e.DataRow("状态") = "confirming"   
End If


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


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

以下是引用有点甜在2014-9-10 16:30:00的发言:

datacolchanged加入的代码如下

 

If Forms("需求明细表").Opened Then
    Forms("需求明细表").Controls("通过").Enabled = e.DataRow("状态") = "confirming"
    Forms("需求明细表").Controls("未过").Enabled = e.DataRow("状态") = "confirming"   
End If

是在出错的需求主表添加还是需求明细表添加?


 回到顶部
总数 24 1 2 3 下一页