天哪,为什么我的MSFLEXGRID和数据库连接后,运行的时候赋值这么慢呢?几乎都能看出是一条一条往下走的呢,为啥呢?是控件就这特点?数据就10多条就这样了!~
With msfHorse
rsHorse.MoveFirst
.FormatString = "马号|马名|马名(英)|马色|马色1|性别|出生日期|出生地|马父ID|马父名|马父出生地|马母ID|马母名|马母出生地"
.Cols = 14
.Rows = i + 1
.Row = 1
For iRow = 1 To i
.Col = 0
.Text = IsTrue(rsHorse, "horse_sys_id") .Col = 1
.Text = IsTrue(rsHorse, "HN_CNAME") .Col = 2
.Text = IsTrue(rsHorse, "HN_ENAME") .Col = 3
.Text = IsTrue(rsHorse, "HO_COLOR_ID") .Col = 4
.Text = IsTrue(rsHorse, "HO_COLOR2_ID") .Col = 5
.Text = IsTrue(rsHorse, "SEX_edes") .Col = 6
.Text = IsTrue(rsHorse, "HO_DOB") .Col = 7
.Text = IsTrue(rsHorse, "HO_CTY") .Col = 8
.Text = IsTrue(rsHorse, "HO_SIRE_ID") .Col = 9
.Text = IsTrue(rsHorse, "HO_SIRE_NM") .Col = 10
.Text = IsTrue(rsHorse, "HO_SIRE_CTY") .Col = 11
.Text = IsTrue(rsHorse, "HO_DAM_ID") .Col = 12
.Text = IsTrue(rsHorse, "HO_DAM_NM") .Col = 13
.Text = IsTrue(rsHorse, "HO_DAM_CTY") rsHorse.MoveNext
If .Row + 1 < .Rows Then
.Row = .Row + 1
End If
Next iRow
End With
End Sub
我是这样赋值的
With msfHorse
rsHorse.MoveFirst
.FormatString = "马号|马名|马名(英)|马色|马色1|性别|出生日期|出生地|马父ID|马父名|马父出生地|马母ID|马母名|马母出生地"
.Cols = 14
.Rows = i + 1
.Row = 1
For iRow = 1 To i
.Col = 0
.Text = IsTrue(rsHorse, "horse_sys_id") .Col = 1
.Text = IsTrue(rsHorse, "HN_CNAME") .Col = 2
.Text = IsTrue(rsHorse, "HN_ENAME") .Col = 3
.Text = IsTrue(rsHorse, "HO_COLOR_ID") .Col = 4
.Text = IsTrue(rsHorse, "HO_COLOR2_ID") .Col = 5
.Text = IsTrue(rsHorse, "SEX_edes") .Col = 6
.Text = IsTrue(rsHorse, "HO_DOB") .Col = 7
.Text = IsTrue(rsHorse, "HO_CTY") .Col = 8
.Text = IsTrue(rsHorse, "HO_SIRE_ID") .Col = 9
.Text = IsTrue(rsHorse, "HO_SIRE_NM") .Col = 10
.Text = IsTrue(rsHorse, "HO_SIRE_CTY") .Col = 11
.Text = IsTrue(rsHorse, "HO_DAM_ID") .Col = 12
.Text = IsTrue(rsHorse, "HO_DAM_NM") .Col = 13
.Text = IsTrue(rsHorse, "HO_DAM_CTY") rsHorse.MoveNext
If .Row + 1 < .Rows Then
.Row = .Row + 1
End If
Next iRow
End With
End Sub
我是这样赋值的
解决方案 »
- 特急 mshflexgrid查询显示
- 如何获取oracle数据库服务器时间
- SQL涉及到的字符串换行问题。
- VB中用Restore Datebase 恢复SQL数据库时,如何判断数据库正在恢复或恢复成功。
- 再开100分,还是ListView排序(非初级)
- 求助!!!!!!如何不成为两次退出
- 急!!!要将记录集的数据写入listview!请高手看看我的代码!有没有办法提高速度啊?
- 在一母窗体中怎样控制只显示两个窗体?急呀~~~~~~`
- 哪里有 Advanced Visual Basic 6(高级Visual Basic 编程) 下载???
- VB往oracle临时表时插入记录不成功
- 一个关于IT行业的问卷调查,做完后赠送视频捕获源代码一份
- 请指教:怎样区别比较字符串的大小写?
.Redraw=False
然后再赋值
再用.Redraw=True
再加上 .refresh
即可。不用那么麻烦。
for i= 1 to msfHorse.rows
entry=IsTrue(rsHorse, "horse_sys_id") & chr(9) & IsTrue(rsHorse, "HN_CNAME") & chr(9) &……&IsTrue(rsHorse, "HO_DAM_CTY")
msfhorse.additem entry
rsHorse.MoveNext
next i
或者这样
for i= 1 to msfHorse.rows
with msfhorse
.textmatrix(i,0)=IsTrue(rsHorse, "horse_sys_id")
……
.textmatrix(i,13)=IsTrue(rsHorse, "HO_DAM_CTY")
end with
rsHorse.MoveNext
next i
我都是这样用的,觉得不慢阿,几百条也是几乎同时出现的