'宣言 Public Overridable Sub RefreshSortPosition()
public virtual void RefreshSortPosition()
このメソッドは、新しい行を行コレクションに追加するときに、コレクション全体を並べ替え直さずに、その行を並べ替え基準に基づくコレクション内の適正な位置に配置する場合に役立ちます (デフォルトでは、新しい行は行コレクションの末尾に追加されます)。このメソッドは、並べ替え基準自体が変更され、その変更が行コレクション全体に影響する場合には、使用しないでください。
バンドのすべての行を並べ替え直すには、SortedColumnsCollection オブジェクトの SortedColumnsCollection.RefreshSort メソッドを呼び出します。
Imports Infragistics.Shared Imports Infragistics.Win Imports Infragistics.Win.UltraWinGrid Private Sub Button64_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles button64.Click ' Get a band and a column. Dim band As UltraGridBand = Me.ultraGrid1.DisplayLayout.Bands(0) Dim column As UltraGridColumn = band.Columns(0) ' Sort by that column. band.SortedColumns.Clear() band.SortedColumns.Add(column, False) ' Get a row. Dim row As UltraGridRow = Me.ultraGrid1.Rows(0) ' Change the value of the cell associated with the column that the rows are ' sorted by. row.Cells(column).Value = "Sweden" ' Get the index before calling the RefreshSortPosition. Dim oldIndex As Integer = row.Index row.RefreshSortPosition() ' Get the index after calling the RefreshSortPosition. Dim newIndex As Integer = row.Index ' Show a message box with both indexes. MessageBox.Show("Index before RefreshSortPosition = " & oldIndex & vbCrLf & _ "Index after RefreshSortPosition = " & newIndex) End Sub
using Infragistics.Shared; using Infragistics.Win; using Infragistics.Win.UltraWinGrid; using System.Diagnostics; private void button64_Click(object sender, System.EventArgs e) { // Get a band and a column. UltraGridBand band = this.ultraGrid1.DisplayLayout.Bands[0]; UltraGridColumn column = band.Columns[0]; // Sort by that column. band.SortedColumns.Clear( ); band.SortedColumns.Add( column, false ); // Get a row. UltraGridRow row = this.ultraGrid1.Rows[0]; // Change the value of the cell associated with the column that the rows are // sorted by. row.Cells[column].Value = "Sweden"; // Get the index before calling the RefreshSortPosition. int oldIndex = row.Index; row.RefreshSortPosition( ); // Get the index after calling the RefreshSortPosition. int newIndex = row.Index; // Show a message box with both indexes. MessageBox.Show( "Index before RefreshSortPosition = " + oldIndex + "\nIndex after RefreshSortPosition = " + newIndex ); }