Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
ListViewを高速に表示するには?
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=9382#CommentId13053
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
hirosi
 (社会人)
投稿日時
2009/10/10 01:42:15
お世話になっております。
データベースの商品マスタ5,600件ほどを、リストビューに表示する商品照会プログラムを作成しています。抽出件数千件以下と少ない時は数秒と早いのですが、5,600件全部を表示する場合は40秒程掛ってしまいます。これを、数秒で表示出来ないものかと悩んでおります。
下に、現在の処理を記述しました。
<プログラム記述例>
With LstVew
.Refresh()
.Items.Clear() 'ListViewコントロールを初期化
.BeginUpdate()
End With
データベースの抽出 … 略
SqlReader = SqlCmd.ExecuteReader() 'データを取得する
Do While (SqlReader.Read)
商品CD = Trim(SqlReader("商品CD"))
商品名カナ = Trim(SqlReader("商品名カナ"))
商品名漢字 = Trim(SqlReader("商品名漢字"))
希望小売価格 = Trim(SqlReader("希望小売価格"))
登録年月日 = Trim(SqlReader("登録年月日"))
Dim Item() As String = {商品CD, 商品名カナ, 商品名漢字, 希望小売価格, 登録年月日}
LstVew.Items.Add(New ListViewItem(Item)) 'リストビューに追加
Loop
SqlReader.Close()
LstVew.EndUpdate()
'----- リストビューの列幅を項目の長さで自動調節(-2)する -----------------------------
Dim ch As ColumnHeader
For Each ch In LstVew.Columns
ch.Width = -2
Next ch
こんな感じです。
何方かご教授をお願いします。