以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  怎么刷新窗体表中的数据,使之永远显示数据库表中的最新数据!  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=177158)

--  作者:cnsjroom
--  发布时间:2022/5/11 12:27:00
--  怎么刷新窗体表中的数据,使之永远显示数据库表中的最新数据!

怎么刷新窗体表中的数据,使之永远显示数据库表中的最新数据!

 

 

当前在【会议主体】窗体中 有sqltable表,在窗体加载后事件代码中  对数据进行加载。

DataTables("会议主体_table1").AddUserStyle("会议开始", Color.pink, Color.black)
DataTables("会议主体_table1").AddUserStyle("会议结束", Color.PaleGreen, Color.black)
DataTables("会议主体_table1").AddUserStyle("等待会议", Color.White, Color.black)

 

Dim cmd As New S QLC ommand
cmd.Co nn ectio nNa me = "无纸化会议"
Dim dt As DataTable
cmd.Co mm an dText = "SE LeCT * F r o m 系统议题 where 主题uuid=\'" & vars("会议主题uuid") &"\'"
dt = cmd.ExecuteReader()

Tables("会议主体_table1").DataSource =dt

 

Tables("会议主体_table1")中的drawcell代码如下:

If e.Row("开始状态") =True And e.Row("结束状态") =False Then
    e.Style = "会议开始"
Else  If e.Row("开始状态") =True And e.Row("结束状态") =True  Then
    e.Style = "会议结束"
Else
    e.Style = "等待会议"
End If

当管理者对会议主体窗体中的sqltable表数据进行开始或结束的操作后,会对应更改开始状态=true 结束状态=true

 

在计划管理中创建有  刷新会议议题  任务  2秒执行一次

 

刷新会议议题代码如下:

If Forms("会议主体").opened Then
    With Tables("会议主体_table1")
        Dim r As Integer
        r = .FindRow("开始状态= true and 结束状态=false ") \'从第一行开始查找
        If r >= 0 Then \'如果找到的话
            .Position = r \'定位到找到的行.
        End If
    End With
End If

 

 

在会议主体窗体启动后  就会MyTimers("同步会议议题").Enabled = True  执行计划任务

 

上述代码及运行结果在本地单项目运行的时候没有问题,数据可以及时刷新显示并定位到符合条件的行。

 

在局域网内的话,打开多个同样的项目,主项目操作了开始状态=true后 且结束状态=false时 其他项目都没有实现与主项目操作的一样效果,自动定位到当前数据开始状态为true结束状态为false的数据行。

 

有没有办法及时也刷新Tables("会议主体_table1")数据,且不闪,数据无缝显示到符合条件的行

同时原有的drawcell代码又要能够正常运行

[此贴子已经被作者于2022/5/11 12:28:33编辑过]

--  作者:有点蓝
--  发布时间:2022/5/11 13:16:00
--  
参考:http://www.foxtable.com/webhelp/topics/3006.htm
--  作者:cnsjroom
--  发布时间:2022/5/11 13:17:00
--  回复:(有点蓝)参考:http://www.foxtable.com/webh...
在不使用openqq的情况下呢?
--  作者:有点蓝
--  发布时间:2022/5/11 13:22:00
--  
没有办法不闪,数据无缝显示