以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  页面集合中表问题求教?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=127620)

--  作者:lisheng1971
--  发布时间:2018/11/18 12:53:00
--  页面集合中表问题求教?
窗口中有:1、分区面板、目录树、页面集合、复选组合框各1个;
              2、有表1,有A、B、C、D、E、F等列,其中C列为逻辑列(手动);
              3、Page1绑定表1,page2也绑定表1,作为副本,只显示A、B、C列且C列为TRUE的行;
              4、想实现:在Page1中的表1的C列为TRUE或FALSE时,Page2中的行能自动增或减。
问题:目录树能正常按要求控制page1中的表1,但page2中的显示就不能达到要求,目录树事件代码如下:
Dim Filter As String
If e.node.Text = "加载所有数据" Then
    Filter = ""
Else
    Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的DataRow
    Select Case e.Node.Level
        Case 0
            Filter ="[列A] = \'" & dr("列A") & "\'"
        Case 1
            Filter ="[列A] = \'" & dr("列A") & "\' And [列B] = \'" & dr("列B") & "\'"
    End Select
End If
Dim tab As WinForm.TabControl = e.Form.controls("tabcontrol1")
If tab.SelectedPage.Text = "page1" Then
    DataTables("表1").LoadFilter = Filter
    DataTables("表1").Load()
ElseIf tab.SelectedPage.Text = "page2" Then
    DataTables("表1").LoadFilter = Filter
    DataTables("表1").Load()
End IF
请教版主:这个问题出在哪?


--  作者:有点甜
--  发布时间:2018/11/18 23:28:00
--  

设置筛选,不要设置加载。如

 

Tables("副本表").Filter = "C = true"

 


--  作者:lisheng1971
--  发布时间:2018/11/19 9:45:00
--  
以下是引用有点甜在2018/11/18 23:28:00的发言:

设置筛选,不要设置加载。如

 

Tables("副本表").Filter = "C = true"

 

水平有限,不是很明白,是在目录树的事件代码上修改?好象行不通!


--  作者:有点甜
--  发布时间:2018/11/19 9:47:00
--  

DataTables("表1").LoadFilter = Filter
DataTables("表1").Load()
If tab.SelectedPage.Text = "page1" Then
   
ElseIf tab.SelectedPage.Text = "page2" Then
    Tables("窗口1_Table2").Filter = "C = true"
End If


--  作者:lisheng1971
--  发布时间:2018/11/19 11:41:00
--  

Dim Filter As String
If e.node.Text = "加载所有数据" Then
    Filter = ""
Else
    Dim dr As DataRow = e.Node.DataRow \'获取生成此节点的DataRow
    Select Case e.Node.Level
        Case 0
            Filter ="[鉴定批次] = \'" & dr("鉴定批次") & "\'"
        Case 1
            Filter ="[鉴定批次] = \'" & dr("鉴定批次") & "\' And [工作单位] = \'" & dr("工作单位") & "\'"
    End Select
End If

Dim tab As WinForm.TabControl = e.Form.controls("tabcontrol1")
If tab.SelectedPage.Text = "报名审核" Then
    DataTables("鉴定考核表").LoadFilter = Filter
    DataTables("鉴定考核表").Load()
    If tab.SelectedPage.Text = "报名审核" Then
        Tables("鉴定考核表").Filter = ""
    ElseIf tab.SelectedPage.Text = "资审通过" Then
        Tables("鉴定管理_Table3").Filter = "资格审核 = true"
    End If
End If

 

理解能力太差,目录树事件这样写,还是没反应,没起到我想要的作用图片点击可在新窗口打开查看


--  作者:有点甜
--  发布时间:2018/11/19 11:52:00
--  

那你最后的代码写成下面,如果还有问题,做个实例发上来测试

 

Tables("鉴定考核表").Filter = ""
Tables("鉴定管理_Table3").Filter = "资格审核 = true"


--  作者:lisheng1971
--  发布时间:2018/11/20 10:51:00
--  

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:我的项目.rar

搞了很久也搞不定,上实例请版主指教!


--  作者:有点甜
--  发布时间:2018/11/20 11:10:00
--  
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:管理项目1.foxdb


--  作者:lisheng1971
--  发布时间:2018/11/20 11:28:00
--  
图片点击可在新窗口打开查看提示文件版本过高,打不开!
--  作者:lisheng1971
--  发布时间:2018/11/20 11:30:00
--  
要我升级,可我只能升到这么高啊!