以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 如何确定表加载完毕? (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=132314) |
-- 作者:shanshuizhujian -- 发布时间:2019/3/19 15:55:00 -- 如何确定表加载完毕? 我的程序是动态加载表,不同模块加载不同的表,但是再加载表的过程中很慢,在表加载过程中如果用户点击别的按钮,这时程序就会出错。我想在加载的时候用户不能操作,等待加载完再操作。如何设计? DataTables.Load(strtabname),这个语句是异步的吗?为什么没有加载完可以进行别的操作?这个语句能否返回一个加载完毕的值?我可以根据这个值进行判断是否加载完毕?谢谢。
|
-- 作者:有点甜 -- 发布时间:2019/3/19 16:00:00 -- 这个代码是同步的,执行完毕,就已经加载了。
你可以用 datatables.contains("表A") 来判断是否已经加载表。 |
-- 作者:shanshuizhujian -- 发布时间:2019/3/19 16:19:00 -- 回复:(有点甜)这个代码是同步的,执行完毕,就已经... 我的是设计是这样的,点击一个模块名称后,先加载菜单,然后加载模块需要的表。但每次都是菜单先加载完,表加载慢。这个时候点击菜单的时候就出错。 |
-- 作者:有点甜 -- 发布时间:2019/3/19 16:23:00 -- 1、报什么错?贴出错误;
2、你可以尝试先加载表,然后加载菜单;
3、做一个对应例子发上来测试。 |
-- 作者:shanshuizhujian -- 发布时间:2019/3/19 16:41:00 -- \'\'加载本模块所需要的表 Dim dtm As DataTable Dim strtabname As String strtabname = DataTables("itb_SysTable").GetComboListString("strTabName","[strModelName] =\'" & myname & "\'") \'DataTables.Load(strtabname)‘这句代码更换成下面的代码了。不用这一句了,让人感觉有迟钝。 \'加一个判断,看看是否所有的表都加载完毕 Dim tbnames() As String = strtabname.Split("|") Forms("加载提示窗口").open For Each tbname As String In tbnames DataTables.Load(tbname) Forms("加载提示窗口").Controls("Label1").text = "正在加载" & tbname Next Forms("加载提示窗口").close |
-- 作者:shanshuizhujian -- 发布时间:2019/3/19 16:42:00 -- 回复:(有点甜)1、报什么错?贴出错误; 2... \'\'加载本模块所需要的表 Dim dtm As DataTable Dim strtabname As String strtabname = DataTables("itb_SysTable").GetComboListString("strTabName","[strModelName] =\'" & myname & "\'") \'DataTables.Load(strtabname) \'加一个判断,看看是否所有的表都加载完毕 Dim tbnames() As String = strtabname.Split("|") Forms("加载提示窗口").open For Each tbname As String In tbnames DataTables.Load(tbname) Forms("加载提示窗口").Controls("Label1").text = "正在加载" & tbname Next Forms("加载提示窗口").close |
-- 作者:有点甜 -- 发布时间:2019/3/19 16:45:00 --
报什么错?贴出对应的错误?
做一个出错的实例发上来看看
|