Foxtable(狐表)用户栏目专家坐堂 → 如何在不同窗口间调用共享的方法?


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

主题:如何在不同窗口间调用共享的方法?

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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10574 威望:0 精华:0 注册:2014/2/19 16:32:00
如何在不同窗口间调用共享的方法?  发帖心情 Post By:2014/6/9 14:43:00 [只看该作者]

环境:

1、在一个停靠窗口中放置了导航栏,导航栏有若干页面。每切换到不同页面就能实现不同的目录树导航(如切换A界面是按数据库记录的时间导航,切换B界面是按记录的“专业“导航)

2、有一个添加记录的独立窗口A、编辑窗口B

问:

每个目录树导航都有一套实现导航的方法,那么如何在关闭窗口A和窗口B的时调用这些共享方法来刷新所有导航树?这个共享方法的调用如何实现请老师给一些提示或参考。

 


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/9 14:45:00 [只看该作者]

 把代码定义成一个函数来调用。

 

http://www.foxtable.com/help/topics/1486.htm

 


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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10574 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2014/6/9 14:52:00 [只看该作者]

再请教,假设这样一段代码如何用函数来调用?

Dim dt As DataTable
Dim
b As New GroupTableBuilder("统计表1",DataTables("订单"))
b
.Groups.AddDef("日期",DateGroupEnum.Year,"年")
b
.Groups.AddDef("日期",DateGroupEnum.Month,"")
b
.Groups.AddDef("产品")
b
.Totals.AddDef("客户",AggregateEnum.Count,"订单数")

dt = b.Build(False)
Dim
trv As WinForm.TreeView = e.Form.Controls("TreeView1")
trv
.BuildTree(dt, "||产品")
trv
.StopRedraw
For
Each nd As WinForm.TreeNode In trv.AllNodes
Dim Year As Integer = nd.DataRow("")
Dim Month As Integer = nd.DataRow("")
Dim Product As String = nd.DataRow("产品")
Select Case nd.Level
Case 0
nd.Text = nd.text & "(" & dt.Compute("Sum(订单数)"," = " & Year) & ")"
Case 1
nd.Text = nd.text & "(" & dt.Compute("Sum(订单数)"," = " & Year & " And = " & Month) & ")"
Case 2
nd.Text = nd.text & "(" & nd.DataRow("订单数") & ")"
End Select
Next

trv
.Nodes.Insert("显示所有行","显示所有行(" & dt.Compute("Sum(订单数)") & "条)",0)
trv
.ResumeRedraw


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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2014/6/9 14:57:00 [只看该作者]

 做一个内部函数,参考2楼,贴入代码,即可。

 

Dim dt As DataTable
Dim b As New GroupTableBuilder("统计表1",DataTables("订单"))
b.Groups.AddDef("日期",DateGroupEnum.Year,"年")
b.Groups.AddDef("日期",DateGroupEnum.Month,"月")
b.Groups.AddDef("产品")
b.Totals.AddDef("客户",AggregateEnum.Count,"订单数")

dt = b.Build(False)
Dim trv As WinForm.TreeView = Forms("窗口xxx").Controls("TreeView1")
trv.BuildTree(dt, "年|月|产品")
trv.StopRedraw
For Each nd As WinForm.TreeNode In trv.AllNodes
    Dim Year As Integer = nd.DataRow("年")
    Dim Month As Integer = nd.DataRow("月")
    Dim Product As String = nd.DataRow("产品")
    Select Case nd.Level
        Case 0
            nd.Text = nd.text & "年(" & dt.Compute("Sum(订单数)","年 = " & Year) & "条)"
        Case 1
            nd.Text = nd.text & "月(" & dt.Compute("Sum(订单数)","年 = " & Year & " And 月 = " & Month) & "条)"
        Case 2
            nd.Text = nd.text & "(" & nd.DataRow("订单数") & "条)"
    End Select
Next
trv.Nodes.Insert("显示所有行","显示所有行(" & dt.Compute("Sum(订单数)") & "条)",0)
trv.ResumeRedraw


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


加好友 发短信
等级:五尾狐 帖子:1107 积分:10574 威望:0 精华:0 注册:2014/2/19 16:32:00
  发帖心情 Post By:2014/6/9 15:50:00 [只看该作者]

非常感谢,会了。


 回到顶部