以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  TopicBar可以试用TimerTick吗?  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=183868)

--  作者:yolala
--  发布时间:2022/11/16 21:56:00
--  TopicBar可以试用TimerTick吗?
图片点击可在新窗口打开查看
这是用TopicBar做的,修改了内容之后,比如审核或者取消审核了,不会动态显示修改后的结果,要退出重新进入系统后才会有变化显示,请问如何做才能同步显示修改后的内容呢?

--  作者:rjh4078
--  发布时间:2022/11/16 22:26:00
--  
在相关操作完成之后重新生成一次
--  作者:yolala
--  发布时间:2022/11/16 22:29:00
--  
以下是引用rjh4078在2022/11/16 22:26:00的发言:
在相关操作完成之后重新生成一次
啥意思,不明白。我要的是实时更新的效果,不用退出去重新进入就可以看得到的。


--  作者:有点蓝
--  发布时间:2022/11/17 9:00:00
--  
修改了内容之后,比如审核或者取消审核了  -- 如果是在表格审核列里勾选的,到datacolchanged事件刷新任务栏即可
--  作者:yolala
--  发布时间:2022/11/17 9:05:00
--  
蓝版,我是在表格审核列里边勾选的,datacolchanged刷新任务代码怎么写?
--  作者:有点蓝
--  发布时间:2022/11/17 9:22:00
--  
TopicBar里面的数量是写什么代码生成的,调用同样的代码即可
--  作者:yolala
--  发布时间:2022/11/17 9:44:00
--  
Dim Page As WinForm.TopicPage
Dim cnt1 As Integer = DataTables("日志内容").Compute("Count([_identify])")
Dim cnt2 As Integer = DataTables("日志内容").Compute("Count([_identify])", "已审核 = True")
Dim cnt3 As Integer = DataTables("日志内容").Compute("Count([_identify])", "已审核 = False Or 已审核 Is Null")
Page = e.Form.Controls("TopicBar1").Pages.Add("日志统计信息", "日志统计信息")
Page.Links.Add("当前日志总数", "当前日志总数(" & cnt1 & ")")
Page.Links.Add("已审核", "已审核(" & cnt2 & ")")
Page.Links.Add("未审核", "未审核(" & cnt3 & ")")

这段代码贴到datacolchanged之后,打开录入窗口,报错了:
.NET Framework 版本:4.0.30319.42000
Foxtable 版本:2022.8.18.1
错误所在事件:全局表事件, DataColChanged
详细错误信息:
调用的目标发生了异常。
未将对象引用设置到对象的实例。

--  作者:有点蓝
--  发布时间:2022/11/17 10:02:00
--  
代码放到不同事件有不同的写法,建议多看看帮助理解不同事件的使用说明。

If e.DataTable.Name = "xx名称" Then 如果是需要处理的表
    If Forms("xx窗口").Opened Then 如果这个窗口处于打开状态
if e.datacol.name = "已审核" then 如果是审核列勾选触发的事件
Dim cnt2 As Integer = DataTables("日志内容").Compute("Count([_identify])", "已审核 = True")
        Forms("xx窗口").Controls("TopicBar1").Pages("日志统计信息").Links("已审核").Text = "已审核(" & cnt2 & ")" 已经添加过,没有必要重复添加了。直接改文本内容即可
endif
    End If 
End If 

--  作者:yolala
--  发布时间:2022/11/17 10:29:00
--  
老师,我这里的代码
Page.Links.Add("当前日志总数", "当前日志总数(" & cnt1 & ")")
在增加了行数据之后,topicbar里的日志总数不会变呀,也得退出了再进才有变化,该怎么在datacolchanged里修改?
已审核可以显示在topicbar里了

If e.DataTable.Name = "日志内容" Then \'如果是需要处理的表
    If Forms("导航窗口").Opened Then \'如果这个窗口处于打开状态
If e.DataCol.name = "已审核" Then \'如果是审核列勾选触发的事件
Dim cnt2 As Integer = DataTables("日志内容").Compute("Count([_identify])", "已审核 = True")
        Forms("导航窗口").Controls("TopicBar1").Pages("日志统计信息").Links("已审核").Text = "已审核(" & cnt2 & ")" \'已经添加过,没有必要重复添加了。直接改文本内容即可
End if
    End If 
End If
[此贴子已经被作者于2022/11/17 10:31:27编辑过]

--  作者:yolala
--  发布时间:2022/11/17 10:46:00
--  
老师,还有一个问题,就是怎么样做,才可以点击topicbar里的对应事项,点击【当前日志总数】显示全部日志数或者筛选出已审核或者未审核的数据? topicbar里的事件代码如下:

Dim Page As WinForm.TopicPage
Dim cnt1 As Integer = DataTables("日志内容").Compute("Count([_identify])")
Dim cnt2 As Integer = DataTables("日志内容").Compute("Count([_identify])", "已审核 = True")
Dim cnt3 As Integer = DataTables("日志内容").Compute("Count([_identify])", "已审核 = False Or 已审核 Is Null")
Page = e.Form.Controls("TopicBar1").Pages.Add("日志统计信息", "日志统计信息")
Page.Links.Add("当前日志总数", "当前日志总数(" & cnt1 & ")")
Page.Links.Add("已审核", "已审核(" & cnt2 & ")")
Page.Links.Add("未审核", "未审核(" & cnt3 & ")")

不知道要怎么在这里写代码,犯迷糊中。
[此贴子已经被作者于2022/11/17 10:59:15编辑过]