Foxtable(狐表)用户栏目专家坐堂 → 如 id=1 就去找foid中等于1的数据 然后对应获取到id=2,3,4 然后又以id=2,3,4去找foid=5,6,7 然后又以foid=5,6,7去找id=……一直循环 怎么操作呢?


  共有5180人关注过本帖平板打印复制链接

主题:如 id=1 就去找foid中等于1的数据 然后对应获取到id=2,3,4 然后又以id=2,3,4去找foid=5,6,7 然后又以foid=5,6,7去找id=……一直循环 怎么操作呢?

帅哥哟,离线,有人找我吗?
cnsjroom
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
如 id=1 就去找foid中等于1的数据 然后对应获取到id=2,3,4 然后又以id=2,3,4去找foid=5,6,7 然后又以foid=5,6,7去找id=……一直循环 怎么操作呢?  发帖心情 Post By:2022/9/8 19:36:00 [只看该作者]

b如何实现先根据sys_Navigation表中的不重复值id来去依次在id foid两个字段中去实现顺序遍历呢?

实现数据的节点依次找到末尾

如 id=1  就去找foid中等于1的数据 然后对应获取到id=2,3,4 然后又以id=2,3,4去找foid=5,6,7 然后又以foid=5,6,7去找id=……一直循环  每找到一次就作为一个节点 并将对应的name依次显示为第一节  第二节   第三节   第四节

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

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:测试.xls

当前代码如下:【没有完整达到预期】

If DataTables.Contains("测试表")  Then '如果表C已经加载
    DataTables.Unload("测试表") '卸载表C
End If
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.C
cmd.CommandText = "Sele ct * From sys_Navigation"
dt = cmd.ExecuteReader()
Dim id1,id2,id3,id4 As String
Dim dtb As New DataTableBuilder("测试表")
dtb.AddDef("第一节", Gettype(String), 32)
dtb.AddDef("第二节", Gettype(String), 32)
dtb.AddDef("第三节", Gettype(String), 32)
dtb.AddDef("第四节", Gettype(String), 32)
dtb.AddDef("窗体id", Gettype(String), 32)
dtb.AddDef("导航名", Gettype(String), 32)
dtb.Build()
Dim Products As List(Of String())
Products = dt.sqlGetValues("ID|Name","FaID is null")  '获取第一级节点
For Each Product As String() In Products
    Dim Products1 As List(Of String())
    Products1 = dt.sqlGetValues("ID|Name","FaID ='" & Product(0) & "'")  '获取第二级节点
    For Each Product1 As String() In Products1
        Dim Products11 As List(Of String())
        Products11 = dt.sqlGetValues("ID|Name","FaID ='" & Product1(0) & "'")  '获取第三级节点
        For Each Product11 As String() In Products11
            Dim Products12 As List(Of String())
            Products12 = dt.sqlGetValues("ID|Name|formid","ID ='" & Product11(0) & "'")  '获取第四级节点
            For Each Product12 As String() In Products12
                Dim Products13 As List(Of String())
                Products13 = dt.sqlGetValues("ID|Name|formid","faID ='" & Product12(0) & "'")
                For Each Product13 As String() In Products13

                    Dim dr1 As DataRow = DataTables("测试表").AddNew()
                    dr1("第一节") = Product(1)
                    dr1("第二节") = Product1(1)
                    dr1("第三节") = Product11(1)
                    If Product12(1).Contains("谈话通知书") Or Product12(1).Contains("询问通知书") Or Product12(1).Contains("讯问通知书") Then
                        dr1("第四节") = Product13(1)
                        output.show(Product13(1) & Product13(0))
                    Else
                        dr1("第四节") = Product12(1)
                    End If
                    dr1("窗体id") = Product13(2)
                    dr1("导航名") = Product1(1)
                Next
            Next
        Next
    Next
Next
MainTable=Tables("测试表")



[此贴子已经被作者于2022/9/8 19:42:12编辑过]

 回到顶部
总数 12 1 2 下一页