以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]enter事件  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=81907)

--  作者:huhu
--  发布时间:2016/3/8 17:19:00
--  [求助]enter事件
BUG录入系统afterload代码:
Dim lbl As WinForm.Label
lbl = e.Form.Controls("Welcome")
lbl.Text = "今天是" & Date.Today() & ",博达BUG综合管理系统欢迎您!"
Dim r As DataRow = DataTables("BUG录入表").AddNew
r("测试项目名称") = "请选择测试项目名称"
r("现象描述") = "请输入BUG故障信息,越详细越好.但不要罗里吧嗦,让研发看着郁闷!"
r("严重程度") = "请选择严重程度"
r("优先级别") = "请选择优先级别"
r("怀疑模块") = "请选择模块"
r("状态") = "待提交"
DataTables("BUG录入表").Load()
Tables("BUG录入表").sort = "BUG_ID DESC"
测试项目名称combox的enter代码:
Dim rjbb As WinForm.ComboBox = e.Form.Controls("软件版本")
Dim csjx As WinForm.ComboBox = e.Form.Controls("测试机型")
Dim csxm As WinForm.ComboBox = e.Form.Controls("测试项目")
If user.name = "liujiyong@bdcom.com.cn" OrElse user.name = "tanqingzhong@bdcom.com.cn" Then
    csxm.ComboList = DataTables("测试项目列表").SQLGetComboListString("测试项目名称")
ElseIf user.name = "jichenggang@bdcom.com.cn" Then
    csxm.ComboList = DataTables("测试项目列表").SQLGetComboListString("测试项目名称","测试组名 like \'%测试epon%\' or 测试组名 like \'%测试switch%\' or 测试组名 like \'%测试IEswitch%\'"  )
Else
    csxm.ComboList = DataTables("测试项目列表").SQLGetComboListString("测试项目名称","测试组名 = \'" & user.group & "\'")
End If
rjbb.text = ""
csjx.text = ""
测试查询修改系统afterload代码:
Select Case user.Group
    Case "开发者"
        DataTables("BUG录入表").LoadFilter ="测试部门 = \'测试部部门\'"
        DataTables("BUG录入表").Load
    Case "测试epron","测试switch","测试IEswitch"
        DataTables("BUG录入表").LoadFilter ="测试部门 = \'测试部部门\' and (测试组名 = \'测试epon\' or 测试组名 = \'测试switch\' or 测试组名 = \'测试IEswitch\')"
        DataTables("BUG录入表").Load        
    Case "测试router"
        DataTables("BUG录入表").LoadFilter ="测试部门 = \'测试部部门\' and 测试组名 = \'测试router\'"
        DataTables("BUG录入表").Load
End Select
Tables("BUG录入表").sort = "BUG_ID DESC"

Select Case user.name
    Case  "开发者"
        Dim cnt As Integer = DataTables("BUG录入表").SQLCompute("Count(BUG_ID)","[严重程度] = \'紧急(Critical)\'")
        e.Form.Controls("超紧急BUG").text = "超紧急BUG(" & cnt & ")"
    Case "chenhaitao@bdcom.com.cn","zoupingping@bdcom.com.cn","mahuiying@bdcom.com.cn","zhengyi@bdcom.com.cn"
        Dim cnt As Integer = DataTables("BUG录入表").SQLCompute("Count(BUG_ID)","[严重程度] = \'紧急(Critical)\' and [测试组名] = \'" & user.group & "\' And (状态 = \'待解决\' or 状态 = \'未解决\')")
        e.Form.Controls("超紧急BUG").text = "超紧急BUG(" & cnt & ")"
    Case Else
        Dim cnt As Integer = DataTables("BUG录入表").SQLCompute("Count(BUG_ID)","[严重程度] = \'紧急(Critical)\' and 提交人邮箱 = \'" & user.name & "\' And (状态 = \'待解决\' or 状态 = \'未解决\') ")
        e.Form.Controls("超紧急BUG").text = "超紧急BUG(" & cnt & ")"
End Select
Dim t1 As WinForm.TreeView
t1 =e.Form.Controls("TreeView1")
t1.BuildTree("BUG录入表", "测试组名|提交人","测试组名 = \'" & user.group & "\'")
t1.Nodes.Insert("显示\'" & user.group & "\'所有测试人员提交的BUG",0)
Dim t2 As WinForm.TreeView = e.Form.Controls("TreeView2")
t2.CreateTree("BUG录入表","怀疑模块","","测试组名 = \'" & user.group & "\'")
t2.Nodes.Insert("显示\'" & user.group & "\'所有模块的BUG",0)
Dim t3 As WinForm.TreeView = e.Form.Controls("TreeView3")
t3.CreateTree("BUG录入表","测试机型","","测试组名 = \'" & user.group & "\'")
t3.Nodes.Insert("显示\'" & user.group & "\'所有机型的BUG",0)
Dim t4 As WinForm.TreeView = e.Form.Controls("TreeView4")
t4.CreateTree("BUG录入表","测试项目名称","","测试组名 = \'" & user.group & "\'")
t4.Nodes.Insert("显示\'" & user.group & "\'所有项目的BUG",0)
Dim t5 As WinForm.TreeView = e.Form.Controls("TreeView5")
t5.CreateTree("BUG录入表","软件版本","","测试组名 = \'" & user.group & "\'")
t5.Nodes.Insert("显示\'" & user.group & "\'所有环境的BUG",0)

Dim Page As WinForm.TopicPage
Dim cnt1 As Integer = DataTables("BUG录入表").SQLCompute("Count(BUG_ID)","状态 = \'待解决\' and 提交人邮箱 = \'" & user.name & "\'")
Dim cnt2 As Integer = DataTables("BUG录入表").SQLCompute("Count(BUG_ID)","状态 = \'已更新\'  and 提交人邮箱 = \'" & user.name & "\'")
Dim cnt3 As Integer = DataTables("BUG录入表").SQLCompute("Count(BUG_ID)","状态 = \'已解决\'  and 提交人邮箱 = \'" & user.name & "\'")
Dim cnt4 As Integer = DataTables("BUG录入表").SQLCompute("Count(BUG_ID)","状态 = \'未解决\'  and 提交人邮箱 = \'" & user.name & "\'")
Dim cnt5 As Integer = DataTables("BUG录入表").SQLCompute("Count(BUG_ID)","提交人邮箱 = \'" & user.name & "\'")
Page = e.Form.Controls("TopicBar1").Pages.Add("BUG状态分类统计","BUG状态分类统计")
Page.Links.Add("待解决的BUG","待解决的BUG(" & cnt1 & ")" )
Page.Links.Add("待验证的BUG","待验证的BUG(" & cnt2 & ")" )
Page.Links.Add("已解决的BUG","已解决的BUG(" & cnt3 & ")" )
Page.Links.Add("未解决的BUG","未解决的BUG(" & cnt4 & ")" )
Page.Links.Add("总提交的BUG","总提交的BUG(" & cnt5 & ")" )
With DataTables("BUG录入表")
    .LoadOver = "BUG_ID"
    .LoadReverse=True
    .LoadTop =  22
    .LoadPage =  0
    .Load()
    If .TotalPages = 0 Then
        .LoadPage = 0
        e.Form.Controls("TextBox1").Value = .LoadPage  & "/" & .TotalPages
    Else
        e.Form.Controls("TextBox1").Value = .LoadPage + 1  & "/" & .TotalPages
    End  If
End  With

e.Form.Controls("请输入BUG ID号").Text = "请输入BUG ID号"
e.Form.Controls("请输入研发全拼").Text = "请输入研发全拼"
e.Form.Controls("请输入测试全拼").Text = "请输入测试全拼"

遇到的问题是,当我点击完测试查询修改系统,然后回到BUG录入系统,发现测试项目名称没法选择了。
搞不懂怎么回事?


--  作者:大红袍
--  发布时间:2016/3/8 17:23:00
--  

无法选择,那就是 测试项目名称combox的enter代码 的问题。

 

加入msgbox,看弹出到哪里,最后查询到的combolist是什么值?


--  作者:huhu
--  发布时间:2016/3/8 17:39:00
--  
是这样。
当首次点击BUG录入系统。然后点击测试项目名称enter,是正常的。
不正常是只要点击完测试查询修改系统,然后返回来点击BUG录入系统,在点击测试项目名称enter就异常了。
Dim csxm As WinForm.ComboBox = e.Form.Controls("测试项目")
If user.name = "liujiyong@bdcom.com.cn" OrElse user.name = "tanqingzhong@bdcom.com.cn" Then
    csxm.ComboList = DataTables("测试项目列表").SQLGetComboListString("测试项目名称")
ElseIf user.name = "jichenggang@bdcom.com.cn" Then
    csxm.ComboList = DataTables("测试项目列表").SQLGetComboListString("测试项目名称","测试组名 like \'%测试epon%\' or 测试组名 like \'%测试switch%\' or 测试组名 like \'%测试IEswitch%\'"  )
Else
msgbox(0)
    csxm.ComboList = DataTables("测试项目列表").SQLGetComboListString("测试项目名称","测试组名 = \'" & user.group & "\'")
msgbox(1)
msgbox(csxm.combolist)
End If

msgbox弹出都是对的。

--  作者:大红袍
--  发布时间:2016/3/8 18:19:00
--  

最后弹出 msgbox(csxm.combolist) 是正确的?那下拉就不应该有问题。

 

现在你点击下拉,会显示内容吗?不显示,看看是否这个控件其余什么事件有代码影响。


--  作者:huhu
--  发布时间:2016/3/8 18:22:00
--  
当首次点击BUG录入系统。然后点击测试项目名称enter,是正常的。下拉列表能正确显示
不正常情况是只要点击完测试查询修改系统,然后返回来点击BUG录入系统,再点击测试项目名称enter就异常了,不出现下拉列表了。

--  作者:大红袍
--  发布时间:2016/3/8 18:24:00
--  
最后弹出的 msgbox(csxm.combolist) 是不是正确的啊?
--  作者:huhu
--  发布时间:2016/3/9 9:26:00
--  

首次只点击bug录入系统,项目名称enter弹出下面的内容

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

然后先点击测试查询系统,啥也没做,再次点击BUG录入系统,项目名称enter弹出下面内容

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

你看2次弹出的内容都一致。可就是下拉列表没内容了。


--  作者:大红袍
--  发布时间:2016/3/9 10:24:00
--  

单独做一个按钮,弹出 控件.ComboList ,如果Enter事件是正确的,肯定有其余事件的代码修改了其值。

 


--  作者:huhu
--  发布时间:2016/3/9 10:41:00
--  
正确。
就是不知道哪里的事件影响了。看测试查询修改系统afterload好像也没发现什么问题啊。

--  作者:大红袍
--  发布时间:2016/3/9 10:45:00
--  

不,可,能。肯定是你没测试清楚。实例