Foxtable(狐表)用户栏目专家坐堂 → [讨论]内部函数


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

主题:[讨论]内部函数

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


加好友 发短信
等级:五尾狐 帖子:1005 积分:5955 威望:0 精华:0 注册:2015/6/18 5:15:00
[讨论]内部函数  发帖心情 Post By:2016/6/3 9:16:00 [只看该作者]

'此函数用于更新主窗口左侧的Treeview控件
Dim TvwCtl As WinForm.TreeView = Args(0)   '要更新的Treeview控件
Dim TblName As String = Args(1)            '数据来源表
Dim Columns As String = Args(2)            '要构建Treeview的字段
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 
        Dim Dt As Date =  Tables(TblName).DataTable.DataRows(0)(ArrColName(i))
        If Dt.Hour = 0 And Dt.Minute = 0 And Dt.Minute = 0 Then
            For Each Nd As WinForm.TreeNode In TvwCtl.AllNodes
                If Nd.Level = i Then Nd.Text = Nd.Text.SubString(0,Nd.Text.IndexOf(" "))
            Next
        End If
    End If
Next
TvwCtl.Nodes.Insert("显示所有行",0)
TvwCtl.Form.ResumeRedraw


老师,上面函数不能对日期型的列进行筛选。望老师帮我修改。(函数是论坛上摘来的)谢谢

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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/3 9:17:00 [只看该作者]

上传实例,说明问题,这段代码本来,就是不是筛选的啊。

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


加好友 发短信
等级:五尾狐 帖子:1005 积分:5955 威望:0 精华:0 注册:2015/6/18 5:15:00
  发帖心情 Post By:2016/6/3 10:04:00 [只看该作者]

加载日期内部函数出错
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:加载.table


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/3 10:07:00 [只看该作者]

'此函数用于更新主窗口左侧的Treeview控件
Dim TvwCtl As WinForm.TreeView = Args(0)   '要更新的Treeview控件
Dim TblName As String = Args(1)            '数据来源表
Dim Columns As String = Args(2)            '要构建Treeview的字段
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

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


加好友 发短信
等级:五尾狐 帖子:1005 积分:5955 威望:0 精华:0 注册:2015/6/18 5:15:00
  发帖心情 Post By:2016/6/3 10:31:00 [只看该作者]

谢谢老师

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


加好友 发短信
等级:五尾狐 帖子:1005 积分:5955 威望:0 精华:0 注册:2015/6/18 5:15:00
  发帖心情 Post By:2016/6/3 12:46:00 [只看该作者]

老师,还是内部函数,拷贝时发生错误。

图片点击可在新窗口打开查看此主题相关图片如下:图像 1.png
图片点击可在新窗口打开查看
 下载信息  [文件大小:   下载次数: ]
图片点击可在新窗口打开查看点击浏览该文件:新建 文本文档.txt


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


加好友 发短信
等级:贵宾 帖子:39310 积分:196782 威望:0 精华:1 注册:2015/4/25 9:23:00
  发帖心情 Post By:2016/6/3 14:20:00 [只看该作者]

 你全局代码那里,要定义MySheet、MyBook才行啊。


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


加好友 发短信
等级:五尾狐 帖子:1005 积分:5955 威望:0 精华:0 注册:2015/6/18 5:15:00
  发帖心情 Post By:2016/6/3 15:07:00 [只看该作者]

忘了,依赖思想太严重了。

 回到顶部