以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助]进度条代码 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=134073) |
-- 作者:hanzhang98 -- 发布时间:2019/4/26 15:53:00 -- [求助]进度条代码 老师好。想在“代码一”中加入“代码二”的进度条代码,但不知如何加入、加在那里。请老师帮助指导。谢谢。 代码一: Dim f As New Filler f.SourceTable = DataTables("员工信息") f.SourceCols = "姓名,性别,民族,政治面貌" f.Fill() \'填充数据 代码二: Dim p As WinForm.ProgressBar = Forms("进度条").Controls("ProgressBar1") p.Maximum = MainTable.Rows.Count \'设置最大值 p.Minimum = 0 \'设置最小值 p.Value = 0 \'设置当前值 For i As Integer = 0 To MainTable.Rows.Count - 1 代码一....... p.Value = p.Value + 1 \'当前值为已经完成的行数(进度条显示的进度) Next [此贴子已经被作者于2019/5/5 7:44:51编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/4/26 16:09:00 -- 加不了,Filler是一次性处理的,获取不到进度的 |
-- 作者:hanzhang98 -- 发布时间:2019/4/26 16:31:00 -- 老师好。那有什么方法可以进行一下提示吗,比如在开始时提示“正在复制......” , 完成后提示 “复制完成。” 。请老师指导。谢谢。 |
-- 作者:有点蓝 -- 发布时间:2019/4/26 16:55:00 -- 参考:http://www.foxtable.com/bbs/dispbbs.asp?BoardID=2&ID=73365&replyID=&skin=1 |
-- 作者:hanzhang98 -- 发布时间:2019/4/26 18:09:00 -- 老师好。下面代码已在删除“表1”的行的代码中加入了显示进度条的代码。但只能在当前表是“表1”时才执行删除并显示进度条,否则当前表不是“表1”就不执行并提示出错“未将对象引用设置到对象的实例。”。 请教老师,如何修改代码,才能实现在当前表不是“表1”时,也能执行删除“表1”行并显示进度条。 Forms("窗口2").Open() Dim p As WinForm.ProgressBar = Forms("窗口2").Controls("ProgressBar1") p.Maximum = MainTable.Rows.Count \'设置最大值 p.Minimum = 0 \'设置最小值 p.Value = 0 \'设置当前值 For i As Integer = 0 To MainTable.Rows.Count - 1 Tables("表A").current.delete \'删除行 p.Value = p.Value + 1 \'当前值为已经完成的行数(进度条显示的进度) Application.Doevents Next Forms("窗口2").Close() 如果不加入显示进度条的代码,就能在当前表不是“表1”时,也能删除“表1”的行。 [此贴子已经被作者于2019/4/26 18:11:29编辑过]
|
-- 作者:有点蓝 -- 发布时间:2019/4/26 20:49:00 -- Forms("窗口2").Open() Dim p As WinForm.ProgressBar = Forms("窗口2").Controls("ProgressBar1") p.Maximum = CurrentTable.Rows.Count \'设置最大值 p.Minimum = 0 \'设置最小值 p.Value = 0 \'设置当前值 For i As Integer = CurrentTable.Rows.Count - 1 To 0 step -1 CurrentTable.Rows(i).delete \'删除行 p.Value = p.Value + 1 \'当前值为已经完成的行数(进度条显示的进度) Application.Doevents Next Forms("窗口2").Close()
|
-- 作者:hanzhang98 -- 发布时间:2019/4/27 11:03:00 -- 老师好。请教老师,在“窗口1” 的按钮事件中,能不能给“窗口2”中的标签动态赋值。谢谢。 |
-- 作者:有点蓝 -- 发布时间:2019/4/27 11:07:00 -- Forms("窗口2").Controls("标签") .text = "某某某" |
-- 作者:hanzhang98 -- 发布时间:2019/5/5 8:05:00 -- 老师好。以下进度条的代码已能初步运行。但是实际运行时,进度条不到满格就完成退出了,请老师帮助优化下面的代码,特别是黄色部分。谢谢。 Forms("进度条").Open() Dim p As WinForm.ProgressBar = Forms("进度条").Controls("ProgressBar1") p.Maximum = 100 \'设置最大值 p.Minimum = 0 \'设置最小值 p.Value = 5 \'设置当前值 代码一 p.Value = 10 \'设置当前值 代码二 p.Value = 20 \'设置当前值 p.Maximum = 20 + DataTables("工资表").DataRows.Count - 1 \'重新设置进度条的最大值(请老师帮助优化或修正代码) For Each dr As DataRow In DataTables("工资表").DataRows Dim drs As List(of DataRow) = DataTables("工资累计").Select(filter) ......(中间代码略) p.Value = p.Value + 1 \'进度条当前值为已经完成的进度(显示的进度)(请老师帮助优化或修正代码) Next Forms("进度条").Close() [此贴子已经被作者于2019/5/5 8:06:49编辑过]
|
-- 作者:有点甜 -- 发布时间:2019/5/5 9:29:00 -- Forms("进度条").Open() [此贴子已经被作者于2019/5/5 9:29:09编辑过]
|