以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 窗体控件没发操作。 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=106352) |
-- 作者:huhu -- 发布时间:2017/9/7 10:42:00 -- 窗体控件没发操作。 现象:打开窗体2,然后关掉窗体2,然后点击窗体1,发现窗体1里面的控件都没发操作。比如下面的窗体1的combobox。但是如果只打开窗体1(不打开关掉窗体2的情况),所有控件都可以用。这是怎么回事? 窗体1的combobox的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.IsRole("开发者") Or user.IsRole("测试部经理") Then msgbox(1)-----执行了,但列表没法选择了(上面的操作现象)。 csxm.ComboList = DataTables("测试项目列表").SQLGetComboListString("测试项目名称") Else csxm.ComboList = DataTables("测试项目列表").SQLGetComboListString("测试项目名称","测试组名 = \'" & user.group & "\'") End If rjbb.text = "" csjx.text = "" 窗体2的afterload代码: If user.IsRole("测试部经理") Then DataTables("BUG录入表").LoadFilter ="状态 <> \'待提交\'" DataTables("BUG录入表").Load Tables("BUG录入表").sort = "BUG_ID DESC" Dim cnt As Integer = DataTables("BUG录入表").SQLCompute("Count(BUG_ID)","[严重程度] = \'死机\' And (状态 = \'待解决\' or 状态 = \'未解决\')") e.Form.Controls("超严重BUG").text = "超严重BUG(" & cnt & ")" Dim cnt11 As Integer = DataTables("BUG录入表").SQLCompute("Count(BUG_ID)","[优先级别] = \'立刻(Immediate)\' And (状态 = \'待解决\' or 状态 = \'未解决\')") e.Form.Controls("超紧急BUG").text = "超紧急BUG(" & cnt11 & ")" 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 & "\' and 状态 <> \'待提交\'") 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 & ")" ) Dim cm d As New S QLCommand cmd.Conn ecti Dim dt As DataTable cmd.CommandText = "SEL ECT * From BUG录入表" dt = cm d.ExecuteReader() Dim t1 As WinForm.TreeView = e.Form.Controls("TreeView1") t1.BuildTree(dt,"测试组名|提交人","测试部门 = \'测试部部门\'") t1.Nodes.Insert("显示测试部门所有测试人员提交的BUG",0) Dim t2 As WinForm.TreeView = e.Form.Controls("TreeView2") t2.CreateTree(dt,"怀疑模块","","测试部门 = \'测试部部门\'") t2.Nodes.Insert("显示测试部门所有模块的BUG",0) Dim t3 As WinForm.TreeView = e.Form.Controls("TreeView3") t3.CreateTree(dt,"测试机型","","测试部门 = \'测试部部门\'") t3.Nodes.Insert("显示测试部门所有机型的BUG",0) Dim t4 As WinForm.TreeView = e.Form.Controls("TreeView4") t4.CreateTree(dt,"测试项目名称","","测试部门 = \'测试部部门\'") t4.Nodes.Insert("显示测试部门所有项目的BUG",0) Dim t5 As WinForm.TreeView = e.Form.Controls("TreeView5") t5.CreateTree(dt,"软件版本","","测试部门 = \'测试部部门\'") t5.Nodes.Insert("显示测试部门所有环境的BUG",0) End If 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 = "请输入测试全拼" |
-- 作者:有点甜 -- 发布时间:2017/9/7 10:47:00 -- 窗口1的控件绑定了表列?
你打开窗口2之后,是不是把表或行或列设置成不可编辑了? |
-- 作者:huhu -- 发布时间:2017/9/7 10:57:00 -- 是绑定了表列了。但属性都是default。没有设置。 |
-- 作者:有点甜 -- 发布时间:2017/9/7 11:33:00 -- 以下是引用huhu在2017/9/7 10:57:00的发言:
是绑定了表列了。但属性都是default。没有设置。
你肯定锁定行,或者锁定表了。或者是你窗口2重新加载数据后数据丢失了。 |
-- 作者:huhu -- 发布时间:2017/9/8 11:48:00 -- 窗体1的代码 Dim lbl As WinForm.Label lbl = e.Form.Controls("Welcome") lbl.Text = "今天是" & Date.Today() & ",博达BUG综合管理系统欢迎您!" If vars("表头") = "" Then Dim r As DataRow = DataTables("BUG录入表").AddNew r("测试项目名称") = "请选择测试项目名称" r("现象描述") = "请输入BUG故障信息,越详细越好.但不要罗里吧嗦,让研发看着郁闷!" r("严重程度") = "请选择严重程度" r("优先级别") = "请选择优先级别" r("怀疑模块") = "请选择模块" r("状态") = "待提交" r.save Tables("BUG录入表").sort = "BUG_ID DESC" e.Form.Controls("必现").Enabled = True e.Form.Controls("可重现").Enabled = True e.Form.Controls("难重现").Enabled = True e.Form.Controls("不能重现").Enabled = True End If |
-- 作者:有点甜 -- 发布时间:2017/9/8 13:02:00 -- 把你窗口2的代码一点一点注释掉,然后测试。
不会做,请上传实例测试。 |