填充使用DataReader列表视图vb.net [英] Populating a listview with a DataReader vb.net

查看:267
本文介绍了填充使用DataReader列表视图vb.net的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我必须做出一些修改有问题,性能比较的应用程序。
我跑了探查和问题的一个是一个:

I have to make some modification to an application that have perfomance issues. I ran the profiler and one of the problem is that one:

一个SQL查询时,并存储在一个DataReader。
该查询返回2000行。

A sql query is made and stored in a DataReader. The query returns about 2000 rows.

然后一个while循环的开始。

then a while loop start

Dim monSQL as IDataReader 
monSQL = a SQL Query

Do While monSQL.Read
  strArray(0) = 
  strArray(1) = 
  strArray(2) = 
  strArray(3) = monSQL("Something").ToString
  strArray(4) = monSQL("Something").ToString
  strArray(5) = monSQL("Something").ToString

  If Not IsDBNull(monSQL("Something")) Then
    strArray(6) = (monSQL("Something"))
    strArray(7) = monSQL("Something")).ToString
    strArray(8) = monSQL("Something").ToString
    strArray(9) = monSQL("Something").ToString
    strArray(10) = monSQL("Something").ToString
  End If

  objListItem = New ListViewItem(strArray)
  objListItem.Tag = lngNoLot
  ListView.Items.Add(objListItem)
Loop

在while循环中,数据在列表视图中插入

In the while loop, the data are insert in the listview

这需要相当长的一段时间去throught循环(约10秒)

It takes quite some time to go throught the loop (about 10 sec)

什么是我的选择,使事情更快?

What are my option to make things go faster?

推荐答案

尝试过程中循环更新暂停任何绘图:

Try suspending any drawing during the loop updates:

listView1.BeginUpdate()
// your loop
listView1.EndUpdate()

这篇关于填充使用DataReader列表视图vb.net的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆