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


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

主题:[求助]目录树

帅哥哟,离线,有人找我吗?
江南小镇
  11楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1700 积分:11344 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2019/12/7 14:26:00 [只看该作者]

老师,下面的内部函数在调用时报错。我把原来的副本表变成直接绑定的正本表。


Dim TvwCtl As WinForm.TreeView = Args(0)   
Dim TblName As String = Args(1)          
Dim Columns As String = Args(2)           
If Tables(TblName).Rows.Count = 0 Then Return Nothing
TvwCtl.Form.StopRedraw
TvwCtl.BuildTree(Tables(TblName).DataTable,Columns)
Dim ArrColName() As String = Columns.Split("|")
For i As Integer = 0 To Ubound(ArrColName)
    If Tables(TblName).DataTable.DataCols(ArrColName(i)).IsDate Then
        For Each Nd As WinForm.TreeNode In TvwCtl.AllNodes
            Dim idx As Integer = nd.Text.IndexOf(" ")
            If idx >= 0 AndAlso Nd.Level = i Then Nd.Text = Nd.Text.SubString(0,Nd.Text.IndexOf(" "))
        Next
    End If
Next
TvwCtl.Nodes.Insert("显示所有行",0)
TvwCtl.Form.ResumeRedraw



.NET Framework 版本:2.0.50727.8669
Foxtable 版本:2017.4.22.1
错误所在事件:自定义函数加载筛选
详细错误信息:
调用的目标发生了异常。
从类型“Table”到类型“String”的转换无效。




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


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

调用函数的时候要传入主表的名称,不能传入副本名称

 回到顶部
帅哥哟,离线,有人找我吗?
江南小镇
  13楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1700 积分:11344 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2019/12/7 15:01:00 [只看该作者]

老师,这个搞不好了。

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


加好友 发短信
等级:超级版主 帖子:106142 积分:539827 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/12/7 15:27:00 [只看该作者]

上传实例

 回到顶部
帅哥哟,离线,有人找我吗?
江南小镇
  15楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1700 积分:11344 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2019/12/8 12:04:00 [只看该作者]

老师,下面加载筛选在副本表中进行的,现在要在窗口绑定的非副本表中进行操作。多谢老师。

 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:加载筛选.table
 
[此贴子已经被作者于2019/12/8 12:04:55编辑过]

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


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

Functions.Execute("加载筛选",e.Form.Controls("筛选树"),e.Form.Controls("Table1").table.name,e.Sender.Value.Replace(",","|"))

 回到顶部
帅哥哟,离线,有人找我吗?
江南小镇
  17楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1700 积分:11344 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2019/12/9 6:01:00 [只看该作者]

好了,谢谢老师。
[此贴子已经被作者于2019/12/9 6:04:33编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
江南小镇
  18楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1700 积分:11344 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2019/12/9 7:59:00 [只看该作者]

谢谢老师,标出的窗口表还是要直接写成表正本表名称,下面代码和二进制列不同步。

With e.Form.Controls("Table2").Table
 .EnterKeyActionDown = True
    .AutoSizeCols
    Dim dz_FilterCol As WinForm.CheckedComboBox = e.Form.Controls("复选")
    For Each C As Col In .Cols
        dz_FilterCol.Items.Add(C.Name)
    Next
    dz_FilterCol.Value = "客户供应商,姓名"
End With


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


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

没看懂这个代码和二进制列有什么关系。何况二进制列本身就不能加载进来使用的:http://www.foxtable.com/webhelp/topics/2950.htm

 回到顶部
帅哥哟,离线,有人找我吗?
江南小镇
  20楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:七尾狐 帖子:1700 积分:11344 威望:0 精华:0 注册:2015/6/22 8:11:00
  发帖心情 Post By:2019/12/9 13:48:00 [只看该作者]

老师,想直接引用绑定的正本表,"通讯录"是数据表的名称。’



With e.Form.Controls("通讯录
").Table

 回到顶部
总数 27 上一页 1 2 3 下一页