2012-01-06 7 views

答えて

2

私が知っている限り一括読み込みする方法はありませんが、もう少し速くするための他のトリックがあります。 1つは、ロード中にコントロールが更新(再ペインティング)されないようにすることです。これは、読み込み中にそれを隠すだけで簡単に行うことができます。もう1つの方法は、レコードのチャンクを先頭に(たとえば2K)ロードしてから、タイマーを使用して残りの部分をバックグラウンドでチャンクにロードすることです。

しかし正直なところ、私は50Kのアイテムが表示されたグリッドの有用性を疑う。これは、1回のパスでユーザーに提示するにはあまりにも多くのデータです。ユーザーが一度に調べなければならないデータの量を制限するためにUIのリファクタリングを検討しましたか。

+0

。、賢い先端のためのthaks。まあ、私はリストビューは本当に大きな配列のための良い選択ではないことに同意する。リストビューではなく、より良い選択肢は何でしょうか? –

+0

@NokImchen tcarvinのポイントは、どのビューでもユーザーに50K行を配信することは実用的ではなく、ユーザーはこれらのレコードで何をするのでしょうか? –

3

下位のListViewコントロールには仮想モードがあります。これは、コントロールにカウントを渡すだけで、表示されているエントリの情報を定期的に取得することを意味します。残念ながら、この機能はVB6の共通コントロールでは公開されていませんが、引き続き基になるコントロールを使用することはできます。

このvbVisionの例を参照してください。

+0

+1サイトリンクについては、このサイトを覚えています。サブクラス化は、OPが探していたものを超えているかもしれないと思うが。バーチャルな機能も提供する商用グリッドがあり、そのルートをさらにサポートする可能性があります。 – tcarvin

関連する問題