以文本方式查看主题

-  Foxtable(狐表)  (http://www.foxtable.com/bbs/index.asp)
--  专家坐堂  (http://www.foxtable.com/bbs/list.asp?boardid=2)
----  [求助]SQLQueryTable数据不同步  (http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&id=125055)

--  作者:larjia
--  发布时间:2018/9/19 6:32:00
--  [求助]SQLQueryTable数据不同步
该窗口是通过增加页签打开,Table是一个SQLQueryTable类型。

我尝试通过后台数据库更新一条记录(没有通过界面的更新功能),然后关闭页签,再打开页签,发现Table中的内容并没有更新。只有当项目重启之后数据才会同步。

求助:
1. 这种情况正常吗?
2. 如果有其他用户正好更新了数据,那我重新打开页签是不是就看不到了,只能重启项目?


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

--  作者:larjia
--  发布时间:2018/9/19 6:50:00
--  
尝试使用Table中的“同步表”命令,可以同步表中的数据。
我在窗口的AfterLoad事件中添加了Load命令缺无效,不能自动同步数据。

这是怎么回事呢?希望每次重新打开窗口,数据都能更新。


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


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

[此贴子已经被作者于2018/9/19 6:50:03编辑过]

--  作者:有点甜
--  发布时间:2018/9/19 9:04:00
--  

首先,你去你数据库那里看一下,你是否真的修改了数据并保存到了数据库。

 

然后,测试同步代码 e.Form.controls("table1").Table.DataTable.load


--  作者:larjia
--  发布时间:2018/9/19 19:37:00
--  
尝试在下面的增加页签代码中添加关闭窗口的代码(红色),目前能解决了。

似乎是因为点击页签的关闭,并没有真正把窗口关闭。只是隐藏了,实际还是Open的状态。



Dim name As String = Args(0)
Dim text As String = Args(1)

Dim tab As WinForm.TabControl = forms("Home").Controls("tabMain")
If tab.TabPages(name) Is Nothing Then
    tab.TabPages.Add(name,text)
    Dim pb = tab.BaseControl
    If Forms(name).Opened = True Then
        \'MessageBox.Show("Opened")
        Forms(name).Close()
    End If
    Forms(name).OPEN(-1000,-1500)
    Forms(name).BaseForm.TopLevel = False
    Forms(name).BaseForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None
    Forms(name).BaseForm.Dock = System.Windows.Forms.DockStyle.Fill
    PB.TabPages(name).Controls.Clear
    PB.TabPages(name).Controls.add(Forms(name).BaseForm)
End If
tab.SelectedPage = tab.TabPages(name)