Pregunta

Tengo un UltraGrid de Infragistics usando un enlaceSource.

Si agrego un nuevo objeto a mi lista de enlaces, agrega una fila en la parte inferior de la cuadrícula que está bien si no hay una ordenación definida por el usuario.

La pregunta es si el usuario hace clic en el encabezado de una columna para ordenar la cuadrícula, ¿hay alguna forma de que aparezcan nuevas filas en el orden ordenado correcto en lugar de siempre en la parte inferior?

Reorganizar todas las filas en cada inserción es demasiado costoso.

¿Fue útil?

Solución

Parece una especie de ghetto. El soporte de Infragistics también indicó que el método RefreshSortPosition () es la única opción.

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

Para ser un poco más eficiente, siempre puede ser inteligente deshabilitando el redibujado, etc. y luego llamando a actualizar en un montón de filas después de un lote de pedidos, etc. ...

Espero que ayude. Tuve muy poca suerte en Google este problema.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top