Foxtable(狐表)用户栏目专家坐堂 → 语法解法


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

主题:语法解法

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


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/11/1 16:50:00 [只看该作者]

(((((sapprd.lfa1 left join sapprd.lfb1 on sapprd.lfa1.lifnr=sapprd.lfb1.lifnr) left join sapprd.lfbk on sapprd.lfa1.lifnr=sapprd.lfbk.lifnr) left join sapprd.usr21 on sapprd.lfa1.ernam=sapprd.usr21.bname) left join sapprd.adrp on sapprd.usr21.persnumber=sapprd.adrp.persnumber) left join sapprd.t052 on sapprd.lfb1.zterm=sapprd.lfb1.zterm)

dt=cmd.executereader()


 回到顶部
帅哥哟,离线,有人找我吗?
wtfwsk05
  142楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/11/1 16:50:00 [只看该作者]


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

3.2想通过临时表在各节点下创建子节点

3.21点击【按类型划分】可以显示子节点

       按【类型】划分

              外部供应商

              内部供应商

       按【公司】划分

              1000

              1100      

              1300


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  143楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/1 20:27:00 [只看该作者]

做一个内部数据源的项目发上来测试。

 回到顶部
帅哥哟,离线,有人找我吗?
wtfwsk05
  144楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/11/1 21:35:00 [只看该作者]

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

请问下如在窗口中目录树节点下按生成的临时表生成

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  145楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/1 22:04:00 [只看该作者]

参考代码

 

Dim trv As WinForm.TreeView = Forms("窗口1").Controls("TreeView1")
Dim dt As DataTable = DataTables("LFA1")
trv.nodes.Clear
Dim nd As WinForm.TreeNode = trv.nodes.Add("按【类型】划分")
For Each lx As String In dt.GetValues("ktokk")
    nd.nodes.Add(lx)
Next
nd = trv.nodes.Add("按【名称】划分")
For Each lx As String In dt.GetValues("name1")
    nd.nodes.Add(lx)
Next


 回到顶部
帅哥哟,离线,有人找我吗?
wtfwsk05
  146楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/11/2 9:46:00 [只看该作者]

窗口的AfterLoad事件

----定义目录树【根目录】的标题

dim  bl_trv厂商 As String() = {"按【类型】划分","按【公司】划分","按【区域】划分","按【创建者】划分","按【创建日期】划分","按【付款周期】划分"}

'-------生成【根目录树】


 回到顶部
帅哥哟,离线,有人找我吗?
wtfwsk05
  147楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/11/2 9:46:00 [只看该作者]

Dim trv厂商 As WinForm.TreeView = e.Form.Controls("Trv供货厂商")

trv厂商.Nodes.Clear   '清除所有节点

'====添加目录树的【节点】

For i As Integer = 0 To bl_trv厂商.Length-1

    Dim trvnd厂商 As WinForm.TreeNode

    trvnd厂商=trv厂商.Nodes.Add("Root" & i,bl_trv厂商(i))

Next


 回到顶部
帅哥哟,离线,有人找我吗?
wtfwsk05
  148楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/11/2 9:47:00 [只看该作者]

请问下如何根据生成的临时表向指定根目录下添加子节点

 

下述表语句放在目录树的AfterSelectNode事件中可以实现我想要的功能,但是双次点击后,所生成的标题就不对了

 

Dim trv As WinForm.TreeView = e.Form.Controls("Trv供货厂商")

Dim nd As WinForm.TreeNode =trv.SelectedNode

Dim dt As DataTable

Dim cmd As new SQLCommand

cmd.ConnectionName="DB2PRD"


 回到顶部
帅哥哟,离线,有人找我吗?
wtfwsk05
  149楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:398 积分:2369 威望:0 精华:0 注册:2017/3/19 15:30:00
  发帖心情 Post By:2018/11/2 9:47:00 [只看该作者]

Select Case nd.name

    Case "root0"

        cmd.CommandText="select distinct ktokk,(case ktokk when 'Z001' then '外部供应商' when 'Z002' then '内部供应商'  when 'Z003' then '一次性供应商'  when 'Z004' then '财务供应商' else '其他' end) as ktokkt f rom sapprd.lfa1 where mandt='800'"

        dt=cmd.ExecuteReader()

        For Each dr As DataRow In dt.DataRows

            nd.Nodes.Add(dr("ktokk"),dr("ktokkt"))

        Next

        For Each nd  In trv.AllNodes

            Select Case nd.Level

                Case 0

                    nd.text=nd.text

                Case 1

                    Dim kg As String = new String (" ",10-nd.name.Length)   '定义kg的空格字符串,长度为【10-账户编号的长度】

                    nd.text=nd.name & kg & nd.text

            End Select

        Next

end select


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  150楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/2 9:49:00 [只看该作者]

认认真真看代码啊

 

Dim trv As WinForm.TreeView = Forms("窗口1").Controls("TreeView1")
Dim dt As DataTable = DataTables("LFA1")
trv.nodes.Clear
Dim nd As WinForm.TreeNode = trv.nodes.Add("按【类型】划分")
For Each lx As String In dt.GetValues("ktokk")
    nd.nodes.Add(lx)
Next
nd = trv.nodes.Add("按【名称】划分")
For Each lx As String In dt.GetValues("name1")
    nd.nodes.Add(lx)
Next


 回到顶部