Foxtable(狐表)用户栏目专家坐堂 → 目录树


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

主题:目录树

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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/4 10:33:00 [只看该作者]


 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  62楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1863 积分:10262 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/3/4 10:34:00 [只看该作者]

月租收费_Table1临时收费录入_Table1、case “窗口1”、case “窗口2”都是在窗口,缴费情况表不在窗口啊,所以这写法不对。

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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/4 10:36:00 [只看该作者]

不在窗口就使用主表名称,能不能灵活一点?

case "xx主表名称"

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  64楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1863 积分:10262 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/3/4 11:23:00 [只看该作者]

报错
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:小区车辆管理20210304.foxdb

你看窗口中的车牌目录树代码

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  65楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1863 积分:10262 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/3/4 11:25:00 [只看该作者]

放到DropDownOpening事件

if e.Form.DropDownBox.DropTable isnot nothing then
select case e.Form.DropDownBox.DropTable .Name
case “月租收费_Table1
月租收费_Table1的代码
case "临时收费录入_Table1"
临时收费录入_Table1的代码
end select
else
select case e.Form.DropDownBox.Form.Name
case “窗口1”
窗口1的代码
case “窗口2”
窗口2的代码
end select
end if
用绿色标注的代码都直接报错不让保存。

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


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

If e.Form.DropTable IsNot Nothing Then
    Select Case e.Form.DropTable.Name

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  67楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1863 积分:10262 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/3/4 12:32:00 [只看该作者]

Dim cmd As New SQLCommand
Dim dt As DataTable
'cmd.C '内部数据源,这行代码不需要
cmd.CommandText = "SELECT [_Identify],分类,住址_序号,住址_巷,住址_号,住址_房,姓名,Year(日期) As 年, Month(日期) As 月,手机号码,车牌号码,备注 Fro m {车辆基本信息}"
dt = cmd.ExecuteReader()
Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
If e.Form.DropTable IsNot Nothing Then
    Select Case e.Form.DropTable.Name
        Case "月租收费_Table1"
            trv.BuildTree(dt,"住址_巷|住址_号|住址_房|姓名|手机号码|车牌号码","[分类] = '" & DataTables("分类").DataRows(0)("分类") & "'","住址_序号,住址_号,住址_房")
        Case "临时收费录入_Table1"
            trv.BuildTree(dt,"车牌号码","[分类] = '" & DataTables("分类").DataRows(1)("分类") & "'","车牌号码")
        Case "缴费情况"
            trv.BuildTree(dt,"住址_巷|住址_号|住址_房|姓名|手机号码|车牌号码","[分类] = '" & DataTables("分类").DataRows(0)("分类") & "'","住址_序号,住址_号,住址_房")
            trv.Nodes.Insert(DataTables("分类").DataRows(0)("分类"),0)
            Do While trv.Nodes.Count > 1
                trv.Nodes(1).MoveRight
            Loop
            Dim trv2 As WinForm.TreeView = e.Form.Controls("TreeView2")
            trv2.BuildTree(dt,"车牌号码","[分类] = '" & DataTables("分类").DataRows(1)("分类") & "'","车牌号码")
            Dim node As WinForm.TreeNode = trv.Nodes.Add(DataTables("分类").DataRows(1)("分类"))
            For i As Integer = trv2.Nodes.Count - 1 To 0 Step -1
                Dim nn As WinForm.TreeNode = trv2.Nodes(i)
                trv2.Nodes.RemoveAt(i)
                node.basenode.Nodes.Add(nn.basenode)
            Next
    End Select
End If
目录树显示没问题了。

 回到顶部
美女呀,离线,留言给我吧!
采菊东篱下
  68楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:八尾狐 帖子:1863 积分:10262 威望:0 精华:0 注册:2019/4/6 8:45:00
  发帖心情 Post By:2021/3/4 12:33:00 [只看该作者]

点击字节在缴费情况表能正常录入数据,在窗口中不能录入数据:
Dim Vals() As String = e.Node.FullPath.Split("\")
Dim tr As Row
If e.Form.DropTable IsNot Nothing Then '如果下拉窗口是从表中打开
    tr = e.Form.DropTable.Current '获取此表的当前行
Else '如果下拉窗口是通过DropdownBox打开
    Dim nm As String = e.Form.DropDownBox.BindingField '获取绑定的字段
    nm = nm.Split(".")(0) '获取绑定的表名
    tr = Tables(nm).Current '获取此表的当前行
End If
If e.Form.DropTable IsNot Nothing Then
    Select Case e.Form.DropTable.Name
        Case "月租收费_Table1"
            If e.Node.Level = 0 Or e.Node.Level = 1 Or e.Node.Level = 2 Or e.Node.Level = 3 Then '如果是顶层节点
                Return '则返回
            End If
            Dim drs As List(Of DataRow) = DataTables("车辆基本信息").Select("分类 = '" & Vals(0) & "' And 住址_巷 ='" & Vals(1) & "' And 住址_号 ='" & Vals(2) & "'And 住址_房 ='" & Vals(3) & "'")
            For Each dr As DataRow In drs
                If dr IsNot Nothing Then
                    tr("分类") = dr("分类")
                    tr("住址_巷") = dr("住址_巷")
                    tr("住址_号") = dr("住址_号")
                    tr("住址_房") = dr("住址_房")
                    tr("姓名") = dr("姓名")
                    tr("车牌号码") = dr("车牌号码")
                    tr("固定电话") = dr("固定电话")
                    tr("手机号码") = dr("手机号码")
                    tr("备注") = dr("备注")
                    e.Form.DropDownBox.Value = tr("车牌号码")
                    e.Form.DropDownBox.CloseDropdown()
                End If
            Next
        Case "临时收费录入_Table1"
            If e.Node.Level = 0 Then '如果是顶层节点
                Return '则返回
            End If
            Dim dr1 As DataRow = DataTables("车辆基本信息").Find("分类 = '" & Vals(0) & "' And 车牌号码 ='" & Vals(1) & "'")
            If dr1 IsNot Nothing Then
                tr("分类") = dr1("分类")
                tr("亲属临时停车") = dr1("亲属临时停车")
                tr("车牌号码") = dr1("车牌号码")
                e.Form.DropDownBox.Value = tr("车牌号码")
                e.Form.DropDownBox.CloseDropdown()
            End If
        Case "缴费情况"
            If Vals(0) = DataTables("分类").DataRows(0)("分类") Then
                If e.Node.Level = 0 Or e.Node.Level = 1 Or e.Node.Level = 2 Or e.Node.Level = 3 Then '如果是顶层节点
                    Return '则返回
                End If
                Dim drs As List(Of DataRow) = DataTables("车辆基本信息").Select("分类 = '" & Vals(0) & "' And 住址_巷 ='" & Vals(1) & "' And 住址_号 ='" & Vals(2) & "'And 住址_房 ='" & Vals(3) & "'")
                For Each dr As DataRow In drs
                    If dr IsNot Nothing Then
                        tr("分类") = dr("分类")
                        tr("住址_巷") = dr("住址_巷")
                        tr("住址_号") = dr("住址_号")
                        tr("住址_房") = dr("住址_房")
                        tr("姓名") = dr("姓名")
                        tr("车牌号码") = dr("车牌号码")
                        tr("固定电话") = dr("固定电话")
                        tr("手机号码") = dr("手机号码")
                        tr("备注") = dr("备注")
                        e.Form.DropDownBox.Value = tr("车牌号码")
                        e.Form.DropDownBox.CloseDropdown()
                    End If
                Next
            ElseIf Vals(0) = DataTables("分类").DataRows(1)("分类") Then
                If e.Node.Level = 0 Then '如果是顶层节点
                    Return '则返回
                End If
                Dim dr1 As DataRow = DataTables("车辆基本信息").Find("分类 = '" & Vals(0) & "' And 车牌号码 ='" & Vals(1) & "'")
                If dr1 IsNot Nothing Then
                    tr("分类") = dr1("分类")
                    tr("亲属临时停车") = dr1("亲属临时停车")
                    tr("车牌号码") = dr1("车牌号码")
                    e.Form.DropDownBox.Value = tr("车牌号码")
                    e.Form.DropDownBox.CloseDropdown()
                End If
            End If
    End Select
End If
[此贴子已经被作者于2021/3/4 13:30:28编辑过]

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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/4 13:36:00 [只看该作者]

11
[此贴子已经被作者于2021/3/4 13:36:09编辑过]

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


加好友 发短信
等级:超级版主 帖子:105473 积分:536350 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2021/3/4 13:45:00 [只看该作者]

调试技巧:http://www.foxtable.com/webhelp/scr/1485.htm

if e.Form.DropTable IsNot Nothing Then
    Select Case e.Form.DropTable.Name
        Case "月租收费_Table1"
            If e.Node.Level = 0 Or e.Node.Level = 1 Or e.Node.Level = 2 Or e.Node.Level = 3 Then '如果是顶层节点
                Return '则返回
            End If
msgbox("分类 = '" & Vals(0) & "' And 住址_巷 ='" & Vals(1) & "' And 住址_号 ='" & Vals(2) & "'And 住址_房 ='" & Vals(3) & "'")
            Dim drs As List(Of DataRow) = DataTables("车辆基本信息").Select("分类 = '" & Vals(0) & "' And 住址_巷 ='" & Vals(1) & "' And 住址_号 ='" & Vals(2) & "'And 住址_房 ='" & Vals(3) & "'")
            For Each dr As DataRow In drs
                If dr IsNot Nothing Then

 回到顶部
总数 107 1.. 上一页 2 3 4 5 6 7 8 9 10 11 下一页