私は合計で数万行のグリッドを表示していますが、ユーザーはいつでもそれらの行のうちのごく一部を、行。Invisible UltraGridRowインスタンスを取り除きます
私はUltraGridRowインスタンスと、彼らは目に見えるエリアに移動すると、他のオブジェクトの夫婦のみ作成されることを保証する、LoadOnDemandを有効に:これは私の記憶に応じて(素晴らしい作品
grid.DisplayLayout.LoadStyle = LoadStyle.LoadOnDemand;
プロファイラー)、テーブル全体を上下にスクロールすると、すべての行のUltraGridRowsの作成がトリガーされると、すべてのUltraGridRowsが作成され、永遠にメモリに残ります。
ビューから外れている行のUltraGridRowオブジェクトを削除するにはどうすればよいですか(自動的に、ただしそうでない場合は手動で) (それともすべてUltraGridRowsを取り除く - 彼らはとにかく自動的に再作成されます)私は考え出し
一つ強引な方法はこれです:
var tmp = grid.DataSource;
grid.DataSource = null;
grid.DataSource = tmp;
それはとても他のいくつかのがある、しかし、いくつかの副作用を引き起こしますUltraGridRowsを取り除く方法は?
ところで、私は成功せず(真とブールのparamsのための偽をしようとして)、これらの2人の男を試してみました。
grid.Rows.Refresh(RefreshRow.ReloadData, false, true);
grid.Rows.DeallocateCells(true);
私はメモリ消費量をダウン取得しようとしている、とUltraGridRowsは、自分自身で、現在メインの消費者(UltraGridRowsですがhuuugeではありません、彼らは私の場合にはメガバイトのカップルを意味し、200バイトごとの下で消費し、ちょうど私たちが話していることを知っている)。
これはInfragistics 9.2です。
アイデア?