以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  动态添加TopicBar页面  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=78382)

--  作者:文道古月
--  发布时间:2015/12/8 11:25:00
--  动态添加TopicBar页面
老师好:

     我想取某一列的不重复值,作为动态添加ToppicBar页面的名称,该怎么写代码呢?


For Each pas As String In DataTables("总库").GetValues("区域") \'提取区域列不重复的值保存在数组中
Dim pas() As String = {""}
’根据数据中的值,动态添加TopicBar的页面
With tpb.Pages
    .Add("W101", "W101", "W101.ico").Collapsed = False
    .Add("A101", "A101", "A101.ico").Collapsed = True
    .Add("B101", "B101", "B101.ico").Collapsed = True
End With

--  作者:大红袍
--  发布时间:2015/12/8 11:27:00
--  
For Each p As String In DataTables("总库").GetValues("区域")
    tpb.Pages.Add(p, p, p & ".ico")
Next

--  作者:文道古月
--  发布时间:2015/12/8 13:06:00
--  
原来这么简洁,,

原来可以这样用,,

原来我都没这样想过,,


谢,老师了!!



--  作者:文道古月
--  发布时间:2015/12/8 14:20:00
--  
老师好,帮我看看这个代码什么问题?

\'动态添加页面任务
Dim pn As String \'定义一个字符串,存放页面名称的变量
Dim tl1 As WinForm.TopicLink \'定义一个任务栏任务控件类型
Dim pnm As WinForm.TopicBar = e.Form.Controls("账本TopicBar1") \'定义任务栏页面类型
pn = pnm.Pages().Name \'获取页面标题,
pn2 = pnm.Pages().Links() \'获取任务名称
tl1.Name = DataTables("总库").GetComboListString("类别","责任区域 like \'%" & pn & "% \'") \'任务的名称=表中,类别列,条件是,类别对应的责任区域列中,包含页面标题



图片点击可在新窗口打开查看此主题相关图片如下:截图20151208141930.png
图片点击可在新窗口打开查看

[此贴子已经被作者于2015/12/8 14:22:31编辑过]

--  作者:大红袍
--  发布时间:2015/12/8 14:31:00
--  


Dim pnm As WinForm.TopicBar = e.Form.Controls("账本TopicBar1") \'定义任务栏页面类型

For Each p As String In DataTables("总库").GetValues("区域")
    pnm.Pages.Add(p, p, p & ".ico")
    For Each lb As String  In DataTables("总库").getValues("类别","责任区域 like \'%" & p & "% \'") \'任务的名称=表中,类别列,条件是,类别对应的责任区域列中,包含页面标题
        pnm.pages(p).Links.Add(lb, lb)
    Next
Next


--  作者:文道古月
--  发布时间:2015/12/8 17:38:00
--  
老师,FOX打不开

这个提示是什么意思呢,?


打开fox出现的

---------------------------
foxtable.exe - .NET Framework Initialization Error
---------------------------
Unable to find a version of the runtime to run this application.
---------------------------
确定   
---------------------------

[此贴子已经被作者于2015/12/8 17:47:59编辑过]

--  作者:文道古月
--  发布时间:2015/12/8 19:36:00
--  

代码执行到0,后面出错了,请问是什么原因呢
Dim page As WinForm.TopicPage
tpb.Pages.Add("B004", "B004", "B004.ico").Collapsed = False
For Each b2 As String In DataTables("总库").GetValues("类别")
MessageBox.show(0)
    Dim lnk As WinForm.TopicLink = page.Links.Add(b2,b2,"b004.ico")
MessageBox.show(1)
    Dim cnt As Integer = DataTables("总库").Compute("SUM([数量])", "类别 = \'" & b2 & "\'")
    MessageBox.show(cnt)
    lnk.Text = lnk.Text & " " & "(" & cnt & ")" & "pcs" & " "
Next

--  作者:大红袍
--  发布时间:2015/12/8 20:01:00
--  
Dim page As WinForm.TopicPage = tpb.Pages.Add("B004", "B004", "B004.ico")
page.Collapsed = False
For Each b2 As String In DataTables("总库").GetValues("类别")
    MessageBox.show(0)
    Dim lnk As WinForm.TopicLink = page.Links.Add(b2,b2,"b004.ico")
    MessageBox.show(1)
    Dim cnt As Integer = DataTables("总库").Compute("SUM([数量])", "类别 = \'" & b2 & "\'")
    MessageBox.show(cnt)
    lnk.Text = lnk.Text & " " & "(" & cnt & ")" & "pcs" & " "
Next

--  作者:文道古月
--  发布时间:2015/12/8 20:32:00
--  
哈,已经琢磨出来了,

不过,还是谢谢老师的回答

老师,帮我看看像这样写行不行,会不会有问题(测试没问题)

Dim page As WinForm.TopicPage \'页面控件
page = tpb.Pages.Add("B004", "B004", "B004.ico")
page.Collapsed = False
For Each b2 As String In DataTables("总库").GetValues("类别")
    Dim lnk As WinForm.TopicLink = Page.links.Add(b2, b2, b2 & ".ico")
    Dim sm As Integer = DataTables("总库").Compute("sum(数量)","类别 =\'" & b2 & "\'")
    lnk.Text = lnk.Text   &  "  " & sm & "  " & "pcs"
Next