bindingsourceを使用してユーザーがソートしたwingridに正しい位置に新しい行を追加する
-
20-08-2019 - |
質問
bindingSourceを使用するInfragistics UltraGridがあります。
バインドリストに新しいオブジェクトを追加すると、グリッドの下部に行が追加されます。ユーザー定義の並べ替えがない場合は問題ありません。
質問は、ユーザーが列ヘッダーをクリックしてグリッドを並べ替える場合、新しい行を常に下ではなく適切な並べ替え順序で表示する方法がありますか?
すべての挿入ですべての行を再ソートするのはコストがかかりすぎます。
解決
一種のゲットーのようです。 Infragisticsサポートは、RefreshSortPosition()メソッドが唯一の選択肢であることも示しました。
// Add to binding list which will trigger a row to be added to the bound ultragrid.
this.bindingList.Add(new Person("Smith", "John"));
// Get length since we know this will always be added to the end
int length = this.ultraGrid.Rows.All.Length;
// Get it to sort
this.ultraGrid.Rows[length - 1].RefreshSortPosition();
もう少し効率的にするために、再描画などを無効にすることで常に賢くなり、注文などのバッチの後に一連の行でリフレッシュを呼び出すことができます...
役立つことを願っています。この問題をグーグルで運んでいるのはほとんどありませんでした。
所属していません StackOverflow