Foxtable(狐表)用户栏目专家坐堂 → 提个状态栏显示数据加载真实进度条的小问题?


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

主题:提个状态栏显示数据加载真实进度条的小问题?

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


加好友 发短信
等级:四尾狐 帖子:937 积分:7742 威望:0 精华:0 注册:2013/7/7 13:37:00
提个状态栏显示数据加载真实进度条的小问题?  发帖心情 Post By:2013/9/27 15:37:00 [只看该作者]

If MainTable.Name = "OrderList" Then
    If DataTables("OrderList").DataRows.Count > 0 Then '如果订单表没有数据
        
        Dim ids As String
        For Each dr As DataRow In DataTables("OrderList").DataRows
            ids = ids & "," & "'" & dr("OrderID") & "'"
        Next
        ids= ids.Trim(",")
        'MessageBox.show(ids)
        DataTables("BagRegList").LoadFilter = "OrderID In (" & ids & ")"
        DataTables("NoteList").LoadFilter = "OrderID In (" & ids & ")"
        DataTables("OrderColorSize").LoadFilter = "OrderID In (" & ids & ")"
        DataTables("OrderFabricPlan").LoadFilter = "OrderID In (" & ids & ")"
        DataTables("OrderMaterialPlan").LoadFilter = "OrderID In (" & ids & ")"
        DataTables("OrderProductPlan").LoadFilter = "OrderID In (" & ids & ")"
        DataTables("OrderProductProcess").LoadFilter = "OrderID In (" & ids & ")"
        DataTables("RecordBagList").LoadFilter = "OrderID In (" & ids & ")"
        DataTables("RecordList").LoadFilter = "OrderID In (" & ids & ")"
        DataTables("CutRecord").LoadFilter = "OrderID In (" & ids & ")"
        DataTables("CutRecordProcessWorker").LoadFilter = "OrderID In (" & ids & ")"
        DataTables("CutRecordFabricList").LoadFilter = "OrderID In (" & ids & ")"
        '---------------------
        DataTables("BagRegList").Load()
        DataTables("NoteList").Load()
        DataTables("OrderColorSize").Load()
        DataTables("OrderFabricPlan").Load()
        DataTables("OrderMaterialPlan").Load()
        DataTables("OrderProductPlan").Load()
        DataTables("OrderProductProcess").Load()
        DataTables("RecordBagList").Load()
        DataTables("RecordList").Load()
        DataTables("CutRecord").Load()
        DataTables("CutRecordProcessWorker").Load()
        DataTables("CutRecordFabricList").Load()
        DataTables("OrderStatus").Load()
        DataTables("结算状态").Load()
    End If

End If

如何在上面代码里加个 在状态栏显示数据真实加载的进度条,不要滚动的, 就是0--100 显示真实进度的。
上面代码统计总值太麻烦。有什么好方法没?


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


加好友 发短信
等级:贵宾 帖子:35433 积分:178524 威望:0 精华:3 注册:2013/3/30 16:36:00
  发帖心情 Post By:2013/9/27 15:39:00 [只看该作者]

10个表,每加载完一个表就显示多10% 这样相对来说比较简单.  

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


加好友 发短信
等级:四尾狐 帖子:937 积分:7742 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2013/9/27 15:42:00 [只看该作者]

好办法,检测每个表加载完是用什么代码?图片点击可在新窗口打开查看

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


加好友 发短信
等级:九尾狐 帖子:2609 积分:16926 威望:0 精华:11 注册:2011/9/20 16:13:00
  发帖心情 Post By:2013/9/27 15:44:00 [只看该作者]

不用检测

直接现在对应的load代码下一行


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


加好友 发短信
等级:四尾狐 帖子:937 积分:7742 威望:0 精华:0 注册:2013/7/7 13:37:00
  发帖心情 Post By:2013/9/27 16:02:00 [只看该作者]

已做好,如有代码冗余或不严谨的地方请指教
If MainTable.Name = "OrderList" Then
    If DataTables("OrderList").DataRows.Count > 0 Then '如果订单表没有数据
        
        Dim ids As String
        For Each dr As DataRow In DataTables("OrderList").DataRows
            ids = ids & "," & "'" & dr("OrderID") & "'"
        Next
        ids= ids.Trim(",")
        'MessageBox.show(ids)
        DataTables("BagRegList").LoadFilter = "OrderID In (" & ids & ")"
        DataTables("NoteList").LoadFilter = "OrderID In (" & ids & ")"
        DataTables("OrderColorSize").LoadFilter = "OrderID In (" & ids & ")"
        DataTables("OrderFabricPlan").LoadFilter = "OrderID In (" & ids & ")"
        DataTables("OrderMaterialPlan").LoadFilter = "OrderID In (" & ids & ")"
        DataTables("OrderProductPlan").LoadFilter = "OrderID In (" & ids & ")"
        DataTables("OrderProductProcess").LoadFilter = "OrderID In (" & ids & ")"
        DataTables("RecordBagList").LoadFilter = "OrderID In (" & ids & ")"
        DataTables("RecordList").LoadFilter = "OrderID In (" & ids & ")"
        DataTables("CutRecord").LoadFilter = "OrderID In (" & ids & ")"
        DataTables("CutRecordProcessWorker").LoadFilter = "OrderID In (" & ids & ")"
        DataTables("CutRecordFabricList").LoadFilter = "OrderID In (" & ids & ")"
        '---------------------
        StatusBar.Message1= "正在加载订单表及对应子表"
        StatusBar.ProgressBar.Visible =True
        StatusBar.Refresh
        DataTables("BagRegList").Load()
        StatusBar.ProgressBar.Value = 8
        StatusBar.Message2= "8%"
        StatusBar.Refresh
        DataTables("NoteList").Load()
        StatusBar.ProgressBar.Value = 16
        StatusBar.Message2= "16%"
        StatusBar.Refresh
        DataTables("OrderColorSize").Load()
        StatusBar.ProgressBar.Value = 24
        StatusBar.Message2= "24%"
        StatusBar.Refresh
        DataTables("OrderFabricPlan").Load()
        StatusBar.ProgressBar.Value = 32
        StatusBar.Message2= "32%"
        StatusBar.Refresh
        DataTables("OrderMaterialPlan").Load()
        StatusBar.ProgressBar.Value = 40
        StatusBar.Message2= "40%"
        StatusBar.Refresh
        DataTables("OrderProductPlan").Load()
        StatusBar.ProgressBar.Value = 48
        StatusBar.Message2= "48%"
        StatusBar.Refresh
        DataTables("OrderProductProcess").Load()
        StatusBar.ProgressBar.Value = 56
        StatusBar.Message2= "56%"
        StatusBar.Refresh
        DataTables("RecordBagList").Load()
        StatusBar.ProgressBar.Value = 64
        StatusBar.Message2= "64%"
        StatusBar.Refresh
        DataTables("RecordList").Load()
        StatusBar.ProgressBar.Value = 72
        StatusBar.Message2= "72%"
        StatusBar.Refresh
        DataTables("CutRecord").Load()
        StatusBar.ProgressBar.Value = 80
        StatusBar.Message2= "80%"
        StatusBar.Refresh
        DataTables("CutRecordProcessWorker").Load()
        StatusBar.ProgressBar.Value = 88
        StatusBar.Message2= "88%"
        StatusBar.Refresh
        DataTables("CutRecordFabricList").Load()
        StatusBar.ProgressBar.Value = 100
        StatusBar.Message2= "100%"
        StatusBar.Refresh
        StatusBar.Reset()
        
    End If
End If

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


加好友 发短信
等级:版主 帖子:5246 积分:33163 威望:0 精华:8 注册:2013/1/17 21:28:00
  发帖心情 Post By:2013/9/27 16:50:00 [只看该作者]

进度虽然不太精确,好歹有个交代,用户心里有数。


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


加好友 发短信
等级:七尾狐 帖子:1731 积分:11255 威望:0 精华:0 注册:2011/12/15 22:06:00
  发帖心情 Post By:2013/9/27 21:03:00 [只看该作者]

学习下for语句吧,减少50%的代码,增强可读性和便于后续修改


 回到顶部