Foxtable(狐表)用户栏目专家坐堂 → 加载出问题了...


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

主题:加载出问题了...

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


加好友 发短信
等级:六尾狐 帖子:1207 积分:7224 威望:0 精华:0 注册:2013/3/4 18:02:00
加载出问题了...  发帖心情 Post By:2014/4/17 0:05:00 [只看该作者]

4.18的版本,窗口的afterload事件,按钮事件均这样,同时如果用异步加载的话,在编程模式下,点击菜单的任何地方程序又会假死掉
With DataTables("客户订单主表")
    .LoadFilter = ""
    .LoadTop = 10
    .LoadOver = "要求交期"
    .LoadReverse = True
    .LoadPage = 0
    .load()
End With
这样子加载会卡住,程序假死
With DataTables("客户订单主表")
    .LoadFilter = ""
    .LoadTop = 10
    .LoadOver = "要求交期"
    .LoadReverse = True
    .LoadPage = 0
    .LoadAsync()
End With
这样子就不会?
点解?
[此贴子已经被作者于2014-4-17 0:07:55编辑过]

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


加好友 发短信
等级:六尾狐 帖子:1207 积分:7224 威望:0 精华:0 注册:2013/3/4 18:02:00
  发帖心情 Post By:2014/4/17 0:21:00 [只看该作者]

还好,能退回16号的版本,无此问题

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/4/17 8:39:00 [只看该作者]

单单一楼的代码,是不应该有问题的,我测试也正常。

最好用例子说话


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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2014/4/17 8:52:00 [只看该作者]

老大  异步加载还是有问题,

 我在行切换事件中原来的代码是这样写的:
  Dim r As Row = e.Table.Current
        If r Is Nothing Then
            Return
        End If
        If Forms("办公用品领用管理").Opened Then
            If Forms("办公用品领用管理").Controls("历史数据").Checked = True Then
                Tables("办公用品领用管理_Table2").DataTable.LoadFilter = "商品编号='" & r("商品编号") & "'"
 Tables("办公用品领用管理_Table2").DataTable.LoadAsync()
            Else
                Tables("办公用品领用管理_Table2").DataTable.LoadFilter = " [_Identify] Is Null"
 Tables("办公用品领用管理_Table2").DataTable.LoadAsync()
            End If

结果打开窗口是提示找不到一个列名:


图片点击可在新窗口打开查看此主题相关图片如下:tt截图未命名.jpg
图片点击可在新窗口打开查看

然后窗口设计等,全部卡死:

 然后我这样改:

 Dim r As Row = e.Table.Current
        If r Is Nothing Then
            Return
        End If
        If Forms("办公用品领用管理").Opened Then
            If Forms("办公用品领用管理").Controls("历史数据").Checked = True Then
                Tables("办公用品领用管理_Table2").DataTable.LoadFilter = "商品编号='" & r("商品编号") & "'"
            Else
                Tables("办公用品领用管理_Table2").DataTable.LoadFilter = " [_Identify] Is Null" 
            End If
Tables("办公用品领用管理_Table2").DataTable.LoadAsync()

  切换行没有反应,然后我退出系统,就提示系统在加载数据不可以退出.  只能直接关闭程序.   

  需要注明的是 数据量不会超过5条.

 然后我改成
    
        Dim r As Row = e.Table.Current
        If r Is Nothing Then
            Return
        End If
        If Forms("办公用品领用管理").Opened Then
            If Forms("办公用品领用管理").Controls("历史数据").Checked = True Then
                Tables("办公用品领用管理_Table2").DataTable.LoadFilter = "商品编号='" & r("商品编号") & "'"
            Else
                Tables("办公用品领用管理_Table2").DataTable.LoadFilter = " [_Identify] Is Null" 
            End If
Tables("办公用品领用管理_Table2").DataTable.Load


  同步加载,系统一切正常.


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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2014/4/17 8:55:00 [只看该作者]

做个简单例子发上来看看。

此外,这种情况最好不要用异步加载,这里需要的是实时加载,异步加载不能滥用的。

当然,也不应该出现错误提示。

[此贴子已经被作者于2014-4-17 8:56:33编辑过]

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


加好友 发短信 一级勋章
等级:狐仙 帖子:9879 积分:57634 威望:0 精华:15 注册:2008/9/1 9:45:00
  发帖心情 Post By:2014/4/17 8:58:00 [只看该作者]

哦 ,明白 . 但是这个是远程的SQL不好做例子.  

 回到顶部