Foxtable(狐表)用户栏目专家坐堂 → 数据提取问题


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

主题:数据提取问题

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


加好友 发短信
等级:三尾狐 帖子:618 积分:4560 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2023/8/3 13:16:00 [只看该作者]

比如,会计科目递归函数目录树,节点长度不固定,有的只有一个节点01,有的有两个节点010101,有的有三个节点010101010101等,双击任意一个节点,实现利用目录树快速输入“科目名称和科目代码。请教下列代码如何修改?

If e.node.nodes.count = 0 Then

    Dim tr As Row

    Dim dr As DataRow = e.Node.DataRow

    If e.Form.DropTable IsNot Nothing Then

        tr = e.Form.DropTable.Current

    Else

        Dim nm As String = e.Form.DropDownBox.BindingField

        nm = nm.Split(".")(0)

        tr = Tables(nm).Current

    End If

    tr("科目名称") = dr("科目名称")'自动录入数据

    tr("科目代码") = dr("科目代码")     

     e.Form.DropDownBox.Value = tr("科目名称") '这行不是多余的,省略此行,无法在表中正常使用此下拉窗口输入数据.  

    Forms("级码目录树输入").Controls("TreeView1").CollapseAll '关闭目录树所有节点     

    e.Form.DropDownBox.CloseDropdown()

End If

也就是点第一节点,输入第一节点的内容,双击第二节点,输入第二节点内容,依次

[此贴子已经被作者于2023/8/3 13:31:46编辑过]

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


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


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


加好友 发短信
等级:三尾狐 帖子:618 积分:4560 威望:0 精华:0 注册:2016/4/15 22:24:00
代码问题  发帖心情 Post By:2023/8/7 8:19:00 [只看该作者]

将表B"第二列"标题字体设为"仿宋", 字体大小11号,加粗, 下面代码正确

Tables("B").SetHeaderCellFont("第二列", New Font("仿宋", 11, FontStyle.Bold))

 

如果只需要加粗, 其他不改变, 下面代码不正确, 请问老师如何修改

Tables("B").SetHeaderCellFont("第二列", FontStyle.Bold)


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


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/7 8:49:00 [只看该作者]

Dim f As font = Tables("B").font
Tables("B").SetHeaderCellFont("第二列", New Font(f.name, f.Size, FontStyle.Bold))

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


加好友 发短信
等级:三尾狐 帖子:618 积分:4560 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2023/8/7 12:48:00 [只看该作者]

感谢老师修改的代码。

[此贴子已经被作者于2023/8/7 12:58:07编辑过]

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


加好友 发短信
等级:三尾狐 帖子:618 积分:4560 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2023/8/7 13:33:00 [只看该作者]

窗口AfterLoad代码:

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")

trv.BuildTree("安置人员字典", "迁出乡镇|迁出行政村|迁出村名|姓名", "", "排序号")'使用排序

trv.Nodes.Insert("显示所有行", 0)

Tables("安置人员字典").Filter = "姓名 Is null"

trv.StopRedraw '停止绘制目录树

For Each nd As WinForm.TreeNode In trv.AllNodes '遍历所有节点

    If nd.Level = 3 Then '如果是4级节点    

         nd.Text = nd.DataRow("排序号") & "" & nd.text & "" & nd.DataRow("安置人员编号")

    End If

Next

trv.ResumeRedraw '恢复绘制目录树

 

 

AfterSelectNode事件代码:

Select Case e.Sender.SelectedNode.name '对所选树的节点的内容来做判断    

    Case Else

        If e.Node.Name = "显示所有行" Then

            Tables("安置人员字典").Filter = ""

        Else

            Dim Value()As String

            Dim Filter As String

            Value = e.Node.FullPath.Split("\")

            Select Case e.Node.Level

                Case 0

                    Filter = "迁出乡镇 = '" & Value(0) & "'"

                Case 1

                    Filter = "迁出乡镇 = '" & Value(0) & "'and 迁出行政村 = '" & Value(1) & "'"

                Case 2

                    Filter = "迁出乡镇 = '" & Value(0) & "'and 迁出行政村 = '" & Value(1) & "'and 迁出村名 = '" & Value(2) & "'"

                Case 3

                    Filter = "迁出乡镇 = '" & Value(0) & "'and 迁出行政村 = '" & Value(1) & "'and 迁出村名 = '" & Value(2) & "' And 姓名 = '" & Value(3) & "'"

            End Select

            Tables("安置人员字典").Filter = Filter

        End If

End Select

蓝老师,上述代码运行发现一个问题,点击目录树最后一个节点(姓名),表中没有数据,请教怎么修改代码?
[此贴子已经被作者于2023/8/7 13:33:55编辑过]

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


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/7 13:37:00 [只看该作者]

可能姓名这一列数据有问题,比如有多余的空格等
[此贴子已经被作者于2023/8/7 13:37:31编辑过]

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


加好友 发短信
等级:三尾狐 帖子:618 积分:4560 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2023/8/7 13:55:00 [只看该作者]

就是姓名这一列有问题,两处代码对应不同,一边数据是对应“姓名”;另一边是加了一些内容 nd.Text = nd.DataRow("排序号") & "" & nd.text & "" & nd.DataRow("安置人员编号")。
我也不知怎么修改才能对应?还望老师指导

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


加好友 发短信
等级:超级版主 帖子:106097 积分:539590 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2023/8/7 14:07:00 [只看该作者]


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


加好友 发短信
等级:三尾狐 帖子:618 积分:4560 威望:0 精华:0 注册:2016/4/15 22:24:00
  发帖心情 Post By:2023/8/7 14:18:00 [只看该作者]

好的

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