Foxtable(狐表)用户栏目专家坐堂 → 简单的动态筛选树改不好,求指教


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

主题:简单的动态筛选树改不好,求指教

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


加好友 发短信
等级:二尾狐 帖子:515 积分:5039 威望:0 精华:0 注册:2017/9/1 23:28:00
简单的动态筛选树改不好,求指教  发帖心情 Post By:2021/4/4 22:34:00 [只看该作者]

就是帮助里面的最简单的那个筛选树,我想改成从一个combobox取动态值来筛选。
我做了一个combobox,里面能选择几个列名称,然后加个button,button代码如下:

Dim trv As WinForm.TreeView = e.Form.Controls("TreeView1")
'Dim x As WinForm.Control =e.Form.Controls("combobox1").text
Dim x As String = e.Form.Controls("ComboBox1").text
trv.BuildTree("订单", "'"& x &"'")
trv.Nodes.Insert("显示所有行",0)

然后在treeview的NodeMouseClick的代码改为
Dim Filter As String = Forms("订单").Controls("CmoboBox1").text
Dim dr As DataRow = e.Node.DataRow '获取生成此节点的行

If e.Node.Text <> "显示所有行" Then
            Filter = "'"& Filter &"' = '" & dr("'"& Filter &"'") & "'"

End If
Tables("订单").Filter = Filter

结果报错..............“无效列名“””
不知道怎么改?

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


加好友 发短信
等级:小狐 帖子:339 积分:3760 威望:0 精华:0 注册:2017/9/7 15:20:00
  发帖心情 Post By:2021/4/4 22:48:00 [只看该作者]

看不太懂,表达式改成这样试试
Filter = Filter & " = '" & dr(Filter) & "'"

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


加好友 发短信
等级:二尾狐 帖子:515 积分:5039 威望:0 精华:0 注册:2017/9/1 23:28:00
  发帖心情 Post By:2021/4/4 23:25:00 [只看该作者]

谢谢304376480老师的回复,虽然没能用上您写的表达式。
但是自己搞定了,多了几个单引号.......
话说狐表的表达式好难理解,单引号、双引号、&&,自己没检查清楚。
其实错误提示就已经说明了图片点击可在新窗口打开查看,比如,提示错误:无效列名:‘客户’,我以为是列名客户错了,实际上提示的是加了单引号之后的客户错了..............
正确的代码如下:(NodeMouseClick事件
Dim Filter As String = Forms("订单").Controls("ComboBox1").text
Dim dr As DataRow = e.Node.DataRow '获取生成此节点的行

If e.Node.Text <> "显示所有行" Then
'Filter = Filter & " = '" & dr(Filter) & "'"
    Filter = ""& Filter &" = '"& dr(""& Filter &"") & "'"
End If
Tables("订单").Filter = Filter

 回到顶部