- - PR -
【C#】ListViewへの高速な上段からのItem追加について
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2006-06-28 13:36
ん? これは AddRange が未使用になる理由にはならないように思うんですが・・・ ListView に項目を渡して処理をさせるのではなくて、別のところで上記の処理をさせてまとめて AddRange させた方が高速だ、と言う意味じゃないんでしょうか? | ||||
|
投稿日時: 2006-06-28 15:21
いつもお世話になっております。
>ListView に項目を渡して処理をさせるのではなくて、 >別のところで上記の処理をさせてまとめて AddRange させた方が高速だ、 >と言う意味じゃないんでしょうか? ??? 『別のところで上記の処理をさせてまとめて AddRange させた方が高速〜』 って、どういう意味でしょうか? 今回は、1件(=1行)追加ごとに描画を行なう必要があるので、 『まとめて』の意味がよくわからないのですが...!? もしかして私、AddRangeの使い方を勘違いしてるのでしょうか? | ||||
|
投稿日時: 2006-06-28 16:36
自前でコレクションを持てば?って話です。 アイテムの追加や削除の編集操作はコレクションに対して行い、BeginUpate(), Items.AddRange(), EndUpdate() という処理の流れも可能です。 また、自前でコレクションを持つなら、仮想 ListView にしてしまって、コレクションの編集操作を行った後に Refresh() という手もありかもしれません。 (チラつくかな?) | ||||
|
投稿日時: 2006-06-28 16:37
「描画」がユーザーへの表現であるなら、おっしゃるとおり不要だと思います。 #追加されていく様をユーザーに見せたいという意味です。 | ||||
|
投稿日時: 2006-06-28 17:11
お手数をおかけしてます。
データ部(コレクション)と画面部を分離して実装することで、 データ部をまとめて更新して、その後で、 まとめて画面側に反映させるということですね。 (その結果、『ちらつきが軽減される。』ということですよね。) 納得しました。 | ||||
|
投稿日時: 2006-08-15 18:15
>1件づつ
どうでもいいことですけど、これがかなり気になって読んでて気色悪かったです。 |