2009-03-18 3 views
3

Ich habe eine Infragistics UltraGrid mit einer BindingSource.Hinzufügen neuer Zeile in der richtigen Position für einen Benutzer sortiert Wingrid mit Bindingsource

Wenn ich meiner Bindungsliste ein neues Objekt hinzufüge, fügt es am unteren Rand des Rasters eine Zeile hinzu, die in Ordnung ist, wenn es keine benutzerdefinierte Sortierung gibt.

Frage ist, wenn der Benutzer auf eine Spaltenüberschrift klickt, um das Raster zu sortieren, gibt es eine Möglichkeit für neue Zeilen in der richtigen sortierten Reihenfolge statt immer auf der Unterseite angezeigt werden?

Das Umsortieren aller Reihen auf jedem Einsatz ist zu teuer.

Antwort

8

Scheint Art von Ghetto. Die Infragistics-Unterstützung zeigte auch an, dass die RefreshSortPosition() -Methode die einzige Wahl ist.

// 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(); 

Um etwas effizienter zu sein, können Sie immer durch disable Nachzug klug sein, usw. und dann auf eine Reihe von Zeilen nach einer Charge von Bestellungen sind aufzufrischen, etc ...

Hoffe, das hilft . Ich hatte sehr wenig Glück, dieses Problem zu googeln.

Verwandte Themen