以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]优化表复制(已解决) (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=57419) |
-- 作者:yyzlxc -- 发布时间:2014/9/24 15:10:00 -- [求助]优化表复制(已解决) 效果:根据选择工时(延时)和数量(次数)自动将B表的数据复制到C表。 问题:由于通过System.Threading.Thread.Sleep来实现延时功能,使运行过程如同死机,不能实时显示Label1的变化过程。 求助:实时反映Label1的值。 开始按钮的代码: Dim gs As String = Forms("窗口").Controls("ComboBox1").Text \'工时 If gs = "" Then MessageBox.Show("请选择工时!","提示") Return End If Dim sl As String = Forms("窗口").Controls("TextBox1").Text \'数量 If sl = "" Then MessageBox.Show("请填写数量!","提示") Return End If Dim gs1 As Integer = CDbl(gs) * 1000 Dim sl1 As Integer = CDbl(sl) * 1000 Dim i As Integer = 0 For i = 1 To CDbl(sl) Dim f As New Filler f.SourceTable = DataTables("B") \'指定数据来源 f.SourceCols = "组别,工位,员工,工票,工时" \'指定数据来源列 f.DataTable = DataTables("C") \'指定数据接收表 f.DataCols = "组别,工位,员工,工票,工时" \'指定数据接收列 f.Fill() \'填充数据 \'填充数量 For Each dr As DataRow In DataTables("C").DataRows If dr.IsNull("计数") Then dr("计数") = i End If Next DataTables("C").Save() Dim lbl As WinForm.Label = e.Form.Controls("Label1") lbl.Text = "第 "& i &" 次" \'延时 System.Threading.Thread.Sleep(gs1) Next [此贴子已经被作者于2014-9-24 15:23:47编辑过]
|
-- 作者:有点甜 -- 发布时间:2014/9/24 15:18:00 -- Dim gs As String = Forms("窗口").Controls("ComboBox1").Text \'工时
http://www.foxtable.com/help/topics/1476.htm
|
-- 作者:yyzlxc -- 发布时间:2014/9/24 15:23:00 -- 谢谢甜老师,问题解决了。 |