Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: okik en 28 Enero 2015, 16:32 pm



Título: Evitar que se ordenen la filas de DataGridView en VB2010
Publicado por: okik en 28 Enero 2015, 16:32 pm
Hola

Después de mucho curiosear no encontré nada. Iba a preguntar, pero encontré la solución por mí mismo. Es la siguiente:


 
Código
  1. '//Se introducen los datos en el datagrid....
  2.  
  3. '//Desactivar 'reordenar las filas' al hacer clic en la cabecera de una columna
  4. For x = 0 To DataGridView1.ColumnCount - 1              
  5.      .Columns(x).SortModeDataGridViewColumnSortMode.NotSortable          
  6. Next x
  7.  


IMPORTANTE  :o: Debe introducirse DESPUÉS de introducir los datos en el datagrid. De lo contrario no funcionará, en cualquier caso, sólo en la primera columna.

Al poner "NotSortable" las cabeceras de las columnas no reaccionan al hacer clic, es decir no se comportan como botones.

Si quieres que las cabeceras hagan el efecto de clic (pero sin reordenar) entonces pones  "Programmatic"

Código
  1. For x = 0 To DataGridView1.ColumnCount - 1              
  2.      .Columns(x).SortModeDataGridViewColumnSortMode.Programmatic          
  3. Next x


Si quieres que NO reordene en una determinada columna  pones el índice de la columna en .columns(índice):


 DataGridView1.Columns(INDICE).SortModeDataGridViewColumnSortMode.NotSortable

ejemplo:

Código
  1. DataGridView1.Columns(0).SortModeDataGridViewColumnSortMode.NotSortable
  2.  

Espero que a álguien le sirva.


Título: Re: Evitar que se ordenen la filas de DataGridView en VB2010
Publicado por: Shell Root en 28 Enero 2015, 19:32 pm
Después de mucho curiosear no encontré nada.
Excelente! Se puede por código o por propiedades!

--

En las propiedades de cada columna, en la vista diseño, se encuentra la propiedad SortMode, la cual, si se selecciona NotSortable, evita que el usuario ordene las columnas al dar clic en la cabecera.

También se puede asignar mediante código

DataGridView1.Columns(0).SortMode = DataGridViewColumnSortMode.NotSortable
MIRA (https://www.google.com.co/?gws_rd=ssl#safe=off&q=evitar+que+se+ordene+datagridview&spell=1),