Domanda

Ho un Infragistics UltraGrid che usa un bindingSource.

Se aggiungo un nuovo oggetto al mio elenco di rilegature, viene aggiunta una riga in fondo alla griglia, il che va bene se non esiste un ordinamento definito dall'utente.

La domanda è se l'utente fa clic sull'intestazione di una colonna per ordinare la griglia, c'è un modo per far apparire le nuove righe nell'ordine corretto invece che sempre in fondo?

Riordinare tutte le righe su ogni inserto è troppo costoso.

È stato utile?

Soluzione

Sembra una specie di ghetto. Il supporto di Infragistics ha anche indicato che il metodo RefreshSortPosition () è l'unica scelta.

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

Per essere un po 'più efficienti, puoi sempre essere intelligente disabilitando il ridisegno, ecc. e quindi chiama l'aggiornamento su un gruppo di righe dopo un gruppo di ordini, ecc ...

Spero che sia d'aiuto. Ho avuto pochissima fortuna su Google questo problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top