MSFlexGrid1快速显示数据求教,谢谢!!!

msdn165168 2007-12-23 09:19:45
MSFlexGrid1快速显示数据求教,谢谢!!!


快速显示数据求教,谢谢!!!

ID HD 大概有1000行
我用下面的代码显示数据很慢,请大家帮助修改一下,谢谢!!!

Dim DMDQ As DRECORD1
Dim khl() As String
Dim hdl As Long
Dim ID, hd As Long
Dim DQQLSJ As hqlx
MSFlexGrid1.Visible = False
Open App.Path & "\SM.YQY" For Binary Access Read As #1
MSFlexGrid1.Rows = (LOF(1) / Len(DMDQ)) + 1
hdl = (LOF(1) / Len(DMDQ))
ReDim khl((LOF(1) / Len(DMDQ)), 2)
For hell = 0 To (LOF(1) / Len(DMDQ)) - 1
Get #1, , DMDQ
' MSFlexGrid1 .TextMatrix(HELL + 1, 0) = HELL + 1
khl(hell, 0) = Trim((StrConv(DMDQ.dm, vbUnicode)))
khl(hell, 1) = Trim((StrConv(DMDQ.mName, vbUnicode)))
Next
Close #1

For ID = 1 To hdl

Open App.Path & "\Dat\" & khl(ID - 1, 0) & ".day" For Binary Access Read As #1
For hd = 0 To (LOF(1) / Len(DQQLSJ)) - 1
Get #1, , DQQLSJ

If DQQLSJ.rq = Format(DT1, "yyyymmdd") Then
MSFlexGrid1.TextMatrix(ID, 0) = ID
MSFlexGrid1.TextMatrix(ID, 1) = DQQLSJ.rq
MSFlexGrid1.TextMatrix(ID, 2) = khl(ID - 1, 0)
MSFlexGrid1.TextMatrix(ID, 3) = khl(ID - 1, 1)
MSFlexGrid1.TextMatrix(ID, 4) = DQQLSJ.kp
MSFlexGrid1.TextMatrix(ID, 5) = DQQLSJ.gj
MSFlexGrid1.TextMatrix(ID, 6) = DQQLSJ.dj
MSFlexGrid1.TextMatrix(ID, 7) = DQQLSJ.pj
MSFlexGrid1.TextMatrix(ID, 9) = DQQLSJ.jl

End If

Next
Close #1
MSFlexGrid1.TextMatrix(ID, 0) = ID
MSFlexGrid1.TextMatrix(ID, 1) = Format(DT1, "yyyymmdd")
MSFlexGrid1.TextMatrix(ID, 2) = khl(ID - 1, 0)
MSFlexGrid1.TextMatrix(ID, 3) = khl(ID - 1, 1)
DoEvents
MSFlexGrid1.Visible = True
Next
...全文
208 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
of123 2007-12-28
  • 打赏
  • 举报
回复
试试:

MSFlexGrid1.Visible = False
For hd = 0 To (LOF(1) / Len(DQQLSJ)) - 1
Get #1, , DQQLSJ
If CDate(DQQLSJ.rq) = Int(DT1) Then
MSFlexGrid1.TextMatrix(ID, 0) = ID
MSFlexGrid1.TextMatrix(ID, 1) = DQQLSJ.rq
MSFlexGrid1.TextMatrix(ID, 2) = khl(ID - 1, 0)
MSFlexGrid1.TextMatrix(ID, 3) = khl(ID - 1, 1)
MSFlexGrid1.TextMatrix(ID, 4) = DQQLSJ.kp
MSFlexGrid1.TextMatrix(ID, 5) = DQQLSJ.gj
MSFlexGrid1.TextMatrix(ID, 6) = DQQLSJ.dj
MSFlexGrid1.TextMatrix(ID, 7) = DQQLSJ.pj
MSFlexGrid1.TextMatrix(ID, 9) = DQQLSJ.jl
End If
Next
MSFlexGrid1.Visible = True

熊孩子开学喽 2007-12-27
  • 打赏
  • 举报
回复
你把那些读写文件的东西还有那些数组定义,计算数量的什么乱七八糟的东西都放到MSFlexGrid1.Visible=False前面来,再用TIMEGETTIME统计下各段程序之间的耗时就知道到底是慢在哪里了。
KiteGirl 2007-12-27
  • 打赏
  • 举报
回复
做个记号……
东方之珠 2007-12-24
  • 打赏
  • 举报
回复
VB中MsFlexGrid控件的使用细则 http://blog.csdn.net/boovo/archive/2006/02/05/592357.aspx
东方之珠 2007-12-24
  • 打赏
  • 举报
回复
http://cuichang.blog.hexun.com/5473858_d.html
http://epasser.aydc.com.cn/article/adp/2/content17758.html

1,453

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧