以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 这句代码效率好低啊. (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=48456) |
-- 作者:永不言弃 -- 发布时间:2014/3/29 1:09:00 -- 这句代码效率好低啊. Dim lvw As WinForm.ListView = e.Form.Controls("ListView1") lvw.Images.LargeSize = New Size(150,110) lvw.Rows.Clear() lvw.Images.Clear() lvw.View = ViewMode.LargeIcon lvw.AllowDrag = True lvw.AllowDrop = True For Each dr As DataRow In DataTables("花型基础资料").Select("花号 Like \'*" & e.Form.Controls("TextBox1").Text & "\'") Dim Key As String = dr("花型图片") Dim vr As WinForm.ListViewRow = lvw.Rows.Add() vr.Text = dr("花号") vr.Name = dr("花号") vr.ImageKey = Key lvw.Images.AddLargeImage(Key, Key) Next
老师,能有改进的办法吗?执行完整个过程,用时差不多两分钟.我都以为死机了,郁闷死. [此贴子已经被作者于2014-3-29 1:10:01编辑过]
|
-- 作者:lsy -- 发布时间:2014/3/29 7:54:00 -- Dim lvw As WinForm.ListView = e.Form.Controls("ListView1") lvw.Images.LargeSize = New Size(150,110) lvw.Rows.Clear() lvw.Images.Clear() lvw.View = ViewMode.LargeIcon lvw.AllowDrag = True lvw.AllowDrop = True Dim drlst As List(Of DataRow) = DataTables("花型基础资料").Select("花号 Like \'*" & e.Form.Controls("TextBox1").Text & "\'") For Each dr As DataRow In drlst lvw.Rows.Add() Next For i As Integer = 0 To drlst.Count - 1 lvw.Rows(i).Text = drlst(i)("花号") lvw.Rows(i).Name = drlst(i) ("花号") lvw.Rows(i).ImageKey = drlst(i)("花型图片") lvw.Images.AddLargeImage(drlst(i)("花型图片"), drlst(i)("花型图片")) Next |
-- 作者:有点甜 -- 发布时间:2014/3/29 9:06:00 -- 建议楼主看看这章 stopredraw
http://www.foxtable.com/help/topics/2845.htm [此贴子已经被作者于2014-3-29 9:06:44编辑过]
|
-- 作者:lsy -- 发布时间:2014/3/29 9:24:00 -- 以下是引用有点甜在2014-3-29 9:06:00的发言:
建议楼主看看这章 stopredraw
http://www.foxtable.com/help/topics/2845.htm [此贴子已经被作者于2014-3-29 9:06:44编辑过] 有道理。 |
-- 作者:菲舍尔 -- 发布时间:2014/3/29 10:23:00 -- 甜说的对,加stopredraw 和不加,时间相差1000倍 |
-- 作者:永不言弃 -- 发布时间:2014/3/29 10:31:00 -- 加了暂停和恢复绘制,还是不管用. |
-- 作者:有点甜 -- 发布时间:2014/3/29 10:55:00 -- 以下是引用永不言弃在2014-3-29 10:31:00的发言:
加了暂停和恢复绘制,还是不管用.
每次的数据量都很大?你试试少一些数据,看看执行效率。 |
-- 作者:永不言弃 -- 发布时间:2014/3/29 11:08:00 -- 原来只有100行左右的时候是好的,现在加到了一万行,就跑不动了.我的电脑也是老的笔记本,这也有关系吧. |
-- 作者:有点甜 -- 发布时间:2014/3/29 11:17:00 -- 每次要显示的数据量如果较多的话,要用虚拟模式或分页显示的。
http://www.foxtable.com/help/topics/2780.htm
http://www.foxtable.com/help/topics/2781.htm
http://www.foxtable.com/help/topics/2824.htm
|