以文本方式查看主题
- Foxtable(狐表) (http://foxtable.net/bbs/index.asp)
-- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2)
---- [求助]导航和单选框组合查询 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=62092)
|
-- 作者:liujywwy
-- 发布时间:2014/12/25 11:10:00
-- [求助]导航和单选框组合查询
左边是导航栏,点击导航页面里面的每个节点,可以筛选出数据,想进一步对已筛选出的数据进行划分,增加了3个radiobutton(“待解决”“已更新”“已解决”),
那么CheckedChanged代码怎么写呢?
Dim Bar As WinForm.NavBar Dim Page1 As WinForm.NavPage Bar = Forms("BUG研发查询修改系统").Controls("NavBar1") Page1 = Bar.NavPages("按照组别查询") DataTables("BUG研发表").loadFilter = "" DataTables("BUG研发表").Load() Dim Filter As String If e.Node.Text <> "显示所有研发的BUG" Then Select Case e.Node.Level Case 1 Filter = "[模块维护人] = \'" & e.Node.Text & "\' and 状态 = \'已解决\'" End Select End If DataTables("BUG研发表").loadFilter = Filter DataTables("BUG研发表").Load() 此主题相关图片如下:error.png
此主题相关图片如下:界面.png
|
-- 作者:有点甜
-- 发布时间:2014/12/25 11:32:00
--
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1") If trv.SelectedNode.Text <> "显示所有研发的BUG" Then
|
-- 作者:liujywwy
-- 发布时间:2014/12/25 14:20:00
--
待解决的CheckedChanged代码如下,请帮我看看哪里有问题,为什么不能实现筛选?
提示:错误所在事件:窗口,BUG研发查询修改系统,待解决1,CheckedChanged 详细错误信息:未将对象引用设置到对象的实例。
If e.Sender.Checked Then DataTables("BUG研发表").loadFilter = "" DataTables("BUG研发表").Load() Dim Filter As String Dim trv1 As WinForm.TreeView = e.Form.Controls("TreeView1") Dim trv2 As WinForm.TreeView = e.Form.Controls("TreeView2") Dim trv3 As WinForm.TreeView = e.Form.Controls("TreeView3") Dim trv4 As WinForm.TreeView = e.Form.Controls("TreeView4") Dim Bar As WinForm.NavBar Bar = Forms("BUG研发查询修改系统").Controls("NavBar1") Dim Page1,Page2,Page3,Page4 As WinForm.NavPage Page1 = Bar.NavPages("按照组别查询") Page2 = Bar.NavPages("按照模块查询") Page3 = Bar.NavPages("按照机型查询") Page4 = Bar.NavPages("按照项目查询") Select Case Bar.SelectedPage.Name Case Page1.HeaderText If trv1.SelectedNode.Text <> "显示所有研发的BUG" Then Select Case trv1.SelectedNode.Name Case trv1.SelectedNode.Text Filter = "[模块维护人] = \'" & trv1.SelectedNode.Text & "\' and 状态 = \'待解决\'" End Select End If Case Page2.HeaderText If trv2.SelectedNode.Text <> "显示所有模块的BUG" Then Select Case trv2.SelectedNode.Name Case trv2.SelectedNode.Text Filter = "[怀疑模块] = \'" & trv2.SelectedNode.Text & "\' and 状态 = \'待解决\'" End Select End If Case Page3.HeaderText If trv3.SelectedNode.Text <> "显示所有机型的BUG" Then Select Case trv3.SelectedNode.Name Case trv3.SelectedNode.Text Filter = "[测试机型] = \'" & trv3.SelectedNode.Text & "\' and 状态 = \'待解决\'" End Select End If Case Page4.HeaderText If trv4.SelectedNode.Text <> "显示所有项目的BUG" Then Select Case trv4.SelectedNode.Name Case trv4.SelectedNode.Text Filter = "[测试项目] = \'" & trv4.SelectedNode.Text & "\' and 状态 = \'待解决\'" End Select End If End Select DataTables("BUG研发表").loadFilter = Filter DataTables("BUG研发表").Load() Else e.Sender.Checked = False End If
|
-- 作者:有点甜
-- 发布时间:2014/12/25 14:45:00
--
你msgbox看一下filter是什么
|
-- 作者:liujywwy
-- 发布时间:2014/12/25 15:09:00
--
以下是引用有点甜在2014-12-25 14:45:00的发言:
你msgbox看一下filter是什么
此主题相关图片如下:qq截图20141225150818.png
只提示错误框,没提示megbox filter的内容。 请帮我看看工程。
|
-- 作者:有点甜
-- 发布时间:2014/12/25 15:23:00
--
|
-- 作者:liujywwy
-- 发布时间:2014/12/25 15:47:00
--
我奇怪的是一个事情,对应单选按钮,每次只有一个处于选中状态这是没问题的。
但是呢,我第一次选中某个单选按钮,然后去做了其他操作(不是去操作其他单选按钮),回来再次准备操作单选按钮时发现,之前选中的按钮仍处于选中状态。
应该是只要点击空白区域或者做其他操作,之前选中的状态应该变为初始未选中状态。 此主题相关图片如下:不要选中.png
|
-- 作者:有点甜
-- 发布时间:2014/12/25 15:53:00
--
1、代码写到click事件去;
2、在其它你觉得应该重新设置的事件里,重新设置为false
|
-- 作者:liujywwy
-- 发布时间:2014/12/25 16:15:00
--
以下是引用有点甜在2014-12-25 15:53:00的发言:
1、代码写到click事件去;
2、在其它你觉得应该重新设置的事件里,重新设置为false
2、在其它你觉得应该重新设置的事件里,重新设置为false
------------------------------------------------------------
这个不明白,该怎么处理?
比如我一开始选中了“待解决”,然后去双击导航栏里目录树的某个节点。
会触发NodeMouseDoubleClick事件,你的意思我需要在NodeMouseDoubleClick把改为false?e.Sender.Checked = False?怎么去判断单选按钮?
|
-- 作者:有点甜
-- 发布时间:2014/12/25 16:17:00
--
e.Form.Controls("控件1").Checked = False
e.Form.Controls("控件2").Checked = False
e.Form.Controls("控件3").Checked = False
|