以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]子表根据条件显示不同视图  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=194706)

--  作者:chnfo
--  发布时间:2025/1/7 12:57:00
--  [求助]子表根据条件显示不同视图
有主表A和子表AC,两者通过A.ID=AC.AID关联

表A的字段Kind(数据字典,包括10、20、30、40、50、……)
目前用了一个导航菜单,切换A、B、C、D导航菜单时,分别过滤显示数据,过滤条件为A.Kind=10、A.Kind=20、……

希望在切换A、B、C、D菜单时,主表按过滤条件显示,A的子表A.AC分别显示不同的视图(如V10、V20、V30、……)

这个如何实现呢?

我的导航菜单用的是一个treeview来做的,在切换树节点事件这样写的

Dim dr As DataRow = e.Node.DataRow
If dr IsNot Nothing Then
Dim TableChild As Table = Tables("A.AC")
    Sel/ect Case dr("Kind")
        Case "10"
            TableChild.OpenView("V10")
        Case "20"
            TableChild.OpenView("V20")
        Case "30"
            TableChild.OpenView("V30")
    End Sel/ect 
end if 

似乎并示效果。
应当怎么设置?
[此贴子已经被作者于2025/1/7 20:07:49编辑过]

--  作者:有点蓝
--  发布时间:2025/1/7 13:36:00
--  
dr("Name")?不是dr("Kind")?
--  作者:chnfo
--  发布时间:2025/1/7 20:08:00
--  
哦,是kind,从真实项目中贴出来的,忘了改了

主要是子表的openview似乎不生效

不好意思,看错了,视图少输了一个字母

[此贴子已经被作者于2025/1/7 20:47:41编辑过]

--  作者:有点蓝
--  发布时间:2025/1/7 20:22:00
--  
这些视图是Tables("AC")的?还是Tables("A.AC")的?这是2个不同的table!不同table视图不一样
--  作者:chnfo
--  发布时间:2025/1/7 21:57:00
--  
AC定义的视图,A.AC应当也能用的吧。
毕竟tables("AC").datatable和tables("A.AC").datatable是同一个表

--  作者:有点蓝
--  发布时间:2025/1/7 22:17:00
--  
不能用。视图是table的,不是datatable的。