Foxtable(狐表)用户栏目专家坐堂 → [求助]帮我看看这代码是什么问题


  共有3085人关注过本帖树形打印复制链接

主题:[求助]帮我看看这代码是什么问题

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


加好友 发短信
等级:三尾狐 帖子:782 积分:7938 威望:0 精华:0 注册:2014/4/21 15:16:00
[求助]帮我看看这代码是什么问题  发帖心情 Post By:2016/10/12 10:29:00 [只看该作者]

这个是自定义函数代码

Dim pnd As WinForm.TreeNode = args(0)
Dim pdr As DataRow = args(1)

For Each dr As DataRow In DataTables("GY物料清单明细表").Select("bom码 = '" & pdr("_Identify") & "'")
    Dim nd As WinForm.TreeNode = pnd.Nodes.Add(dr("物料编码"))
    If dr.IsNull("父键") = False Then
        Dim fdr As DataRow = DataTables("GY物料清单表").Find("_Identify = '" & dr("父键") & "'")
        If fdr IsNot Nothing Then
            Functions.Execute("bom递归", nd, fdr)
        End If
    End If
Next

 

这个是按钮代码

Dim g As String
InputValue(g,"需加载的计划信息","请输入相应的计划信息!")
If g > "" Then
    Dim bm As String =DataTables("GY单品种bom表").sqlGetComboListString("码","物料名称 ='" & g & "' and 码 <> 0")
    bm =bm.Replace("|","','")
    DataTables("GY物料清单表").LoadFilter ="_Identify in ('" & bm & "')"
    DataTables("GY物料清单表").Load
    Dim trv As WinForm.TreeView = Forms("GY物料清单表").Controls("TreeView1")
    trv.Visible =True
    trv.Nodes.Clear
    For Each dr As DataRow In DataTables("GY物料清单表").Select("物料名称 = '" & g & "'","品名,物料名称")
        Dim nd As WinForm.TreeNode= trv.Nodes.Add(dr("物料名称"))
        Functions.Execute("bom递归", nd, dr)
    Next
    trv.Nodes.Insert("显示所有",0)
End If

 

这个按钮要点两次才行,

第一次执行的效果

第二次执行的效果


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

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

我就想问一下我这代码有什么问题,为什么要执行两次,我就是要第二次的效果。


 回到顶部
帅哥,在线噢!
有点蓝
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:110558 积分:562680 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2016/10/12 11:03:00 [只看该作者]

请上例子测试

 回到顶部