Foxtable(狐表)用户栏目专家坐堂 → 怎么刷新窗体表中的数据,使之永远显示数据库表中的最新数据!


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

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

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
怎么刷新窗体表中的数据,使之永远显示数据库表中的最新数据!  发帖心情 Post By: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编辑过]

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


加好友 发短信
等级:七尾狐 帖子:1571 积分:11238 威望:0 精华:0 注册:2021/1/17 17:06:00
回复:(有点蓝)参考:http://www.foxtable.com/webh...  发帖心情 Post By:2022/5/11 13:17:00 [显示全部帖子]

在不使用openqq的情况下呢?

 回到顶部