Aquí podría ser tu PUBLICIDAD


Infragistics UltraGrid: cómo eliminar la selección predeterminada de la primera fila

votos
15

He puesto un UltraGrid en un control de usuario de WinForms. He modificado algunas configuraciones para poder usar la grilla como una tabla de selección de múltiples filas de solo lectura. Pero hay un problema: por defecto, la primera fila parece estar seleccionada.

Pero la Selected.Rowspropiedad está vacía, y también la ActiveRowpropiedad es null.

Por lo tanto, parece que la fila está seleccionada, pero en realidad no es así, por lo que es imposible eliminar la selección.

Estoy seguro de que debe haber una configuración oculta en algún lugar de UltraGrid para controlar este comportamiento. Y si este no es el caso, ¿tal vez hay una solución?

Gracias.

Publicado el 12/03/2009 a las 16:01
fuente por usuario Gerrie Schenck
En otros idiomas...        العربية       

7 respuestas

votos
21

Después de investigar un poco más, encontré una solución que compartiré con todos ustedes:

myUltraGrid.DisplayLayout.Override.ActiveCellAppearance.Reset();
myUltraGrid.DisplayLayout.Override.ActiveRowAppearance.Reset();
Respondida el 12/03/2009 a las 04:16
fuente por usuario Gerrie Schenck


Aquí podría ser tu PUBLICIDAD


votos
3

Esto me ayudó en la supresión de la "Línea activa" de una red:

grid.DisplayLayout.Override.ActiveAppearancesEnabled = Infragistics.Win.DefaultableBoolean.False;

Si usted también no desea una fila para ser marcado como seleccionado, usted tiene que hacer lo mismo para "Aspecto seleccionada":

grid.DisplayLayout.Override.SelectedAppearancesEnabled = Infragistics.Win.DefaultableBoolean.False;
Respondida el 14/11/2014 a las 01:48
fuente por usuario Vedat

votos
3

prueba esto:

this.ultraGrid1.SyncWithCurrencyManager = false;
this.ultraGrid1.DisplayLayout.Override.RowSelectors=DefaultableBoolean.False;
Respondida el 06/03/2014 a las 09:58
fuente por usuario stefano m

votos
3

Tengo exactamente el mismo problema que tenía, pero la solución de Gerrie Schenck no funciona para mí. Usé este truco: MyUltraGrid.ActiveRow = MyUltraGrid.Rows [0]; MyUltraGrid.ActiveRow = null;

Respondida el 03/06/2009 a las 03:42
fuente por usuario Gianni

votos
2

Es importante distinguir entre seleccionada y activa. La cuadrícula no selecciona ninguna fila automáticamente Lo que está viendo es la ActiveRow, que muestra con un toque de luz al igual que las filas seleccionadas.

ActiveRow de la cuadrícula se sincroniza con el CurrencyManager, lo que por defecto primera fila de la cuadrícula aparece resaltado. Restablecimiento de la ActiveRowAppearance y ActiveCellAppearance eliminará el punto culminante de la ActiveRow por defecto.

        this.ultraGrid1.DisplayLayout.Override.ActiveCellAppearance.Reset();
        this.ultraGrid1.DisplayLayout.Override.ActiveRowAppearance.Reset();

Pero es importante tener en cuenta que esto no impide que la fila se convierta en la fila activa, sólo que la red ya no se resalta la fila activa. Desde la fila todavía está activo (y no hay forma de evitar esto) cualquier otra cosa que pone de relieve la fila activa seguirá siendo resaltar la fila. Por ejemplo, si se carga una biblioteca de estilos (* .isl) presentar en su aplicación que se aplica un estilo a la ActiveRow, todavía se mostrará.

Si desea desactivar la aparición fila activa de una manera más completa, ignorando por completo a todos los valores de propiedades y la configuración de biblioteca de estilos, se puede hacer esto:

this.ultraGrid1.DisplayLayout.Override.ActiveAppearancesEnabled = Infragistics.Win.DefaultableBoolean.False;

Tenga en cuenta que esta propiedad se añadió en v9.2 y no existe en las versiones anteriores.

Respondida el 19/01/2016 a las 04:10
fuente por usuario Mike

votos
1

De alguna manera, ninguna de las soluciones mencionadas anteriormente trabajó para mí. En mi caso simplemente quería activación / concurso de no ocurrir en absoluto. Así que hice lo siguiente. Puede que no sea la mejor solución, pero funciona.

    private void LayoutVisulizerUltraGrid_AfterRowActivate(object sender, EventArgs e)
    {
        LayoutVisulizerUltraGrid.ActiveRow = null;
    }
Respondida el 26/05/2011 a las 05:27
fuente por usuario Jeff

votos
0

Desactivar la fila seleccionada por completo, a continuación, establecer ActiveRowen nulo debe borrar la selección.

grid.DisplayLayout.Override.SelectTypeRow = Infragistics.Win.UltraWinGrid.SelectType.None;
Respondida el 06/08/2015 a las 06:19
fuente por usuario Rytis I