首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

vb MSHFLEXGRID中录入数据的速度有关问题

2012-12-17 
vb MSHFLEXGRID中录入数据的速度问题以下代码是用添加数据的方式把数据录入到MSHFLEXGRID中

vb MSHFLEXGRID中录入数据的速度问题
'=============以下代码是用添加数据的方式把数据录入到MSHFLEXGRID中的,但运行速度好慢,比不上直接用绑定的方式执行:ms.datesource=rs  这种方式比较快,但无法跟进度条同步,请教专家,是不是下面代码有待优化或改进
With ms
ProgressBar1.Move ms.Left, ms.Top + ms.Height - 250, ms.Width, 250
ProgressBar1.Visible = True
k = 0
.Redraw = False
a$ = "|id|^药品编号|<药品名称                     |^单位 |^产地 |<药品规格   |>实盘数量|>帐面数量|>盘损数量|>会员价 |>盘损金

额|>复盘数量  |^复盘|>实损数量|>实盈金额|||<盘点分析    |^上次盈亏"
.FormatString = a$
.Rows = 1
Do While Not rs.EOF
.AddItem vbTab & rs(0) & vbTab & rs(1) & vbTab & rs(2) & vbTab & rs(3) & vbTab & rs(4) & vbTab & rs(5) & vbTab & rs(6) & 

vbTab & rs(7) & vbTab & rs(8) & vbTab & rs(9) & vbTab & rs(10) & vbTab & rs(11) & vbTab & rs(12) & vbTab & rs(13) & vbTab & 

rs(14) & vbTab & rs(15) & vbTab & rs(16) & vbTab & rs(17) & vbTab & rs(18)
ProgressBar1.Value = Format(k / rs.RecordCount, "0.00") * 100
rs.MoveNext
k = k + 1
Loop
.Redraw = True
ProgressBar1.Visible = False
ProgressBar1.Value = 0
.FixedRows = 1
End With
[最优解释]

'直接用控件绑定设置,不用进度条,增加鼠标状态
screen.mousepointer=vbhourglass
set mshflexgrid1.datasource=rs
screen.mousepointer=vbdefault

[其他解释]
循环添加的确不如ms.datesource=rs快,如果你的数据量大,可以不用这种方式。

热点排行