¿Columnas ajustables de DataGridView, pero la última columna no se puede cambiar de tamaño más grande?

Para c = 0 Para grd.Columns.Count - 1 grd.Columns (c) .Resizable = DataGridViewTriState.True Siguiente c

Eso permite que todas las columnas en mi DataGridView sean redimensionables EXCEPTO la última columna. ¿Por qué? I DO obtén el pequeño puntero del mouse redimensionable ... pero solo puedes hacer que la columna MENOR, Nunca MÁS AMPLIO.

(El mismo problema si trato de configurar todas las columnas en Redimensionable, usando el IDE de VB.net)

¿Qué estoy haciendo mal aquí? ¿No debería poder cambiar el tamaño? CUALQUIER columna que quiero, más grande o más pequeña?

preguntado el 10 de mayo de 11 a las 14:05

4 Respuestas

No puedes hacer el pasado columna más ancha porque ya está llenando todo el espacio disponible en el control.

A diferencia de las otras columnas en el medio, que simplemente roban espacio de la columna a su derecha, no hay ninguna columna a la derecha de la última columna a la que pueda robar espacio. Como no tiene adónde ir, el control simplemente le impide cambiar el tamaño de la última columna.

contestado el 10 de mayo de 11 a las 18:05

Todas las demás cuadrículas que hemos visto ... simplemente agarra CUALQUIER encabezado de columna (incluido el último) ... y deslícelo hacia la derecha. No estamos tratando de hacer GRID más ancha ... o hacer que la columna se extienda más allá del WIDTH de la cuadrícula ... tratando de hacer el COLUMNA más amplio. Pensé que por eso hay una barra de desplazamiento horizontal en la parte inferior. ¿No? - Bonnie

Tuve el mismo problema: no pude cambiar el tamaño de la última columna en DataGridView (la propiedad de tamaño variable se estableció en 'Verdadero'). He configurado 'Modo de relleno' en 'Celdas mostradas'. Cuando cambié esa configuración a 'No establecido', normalmente puedo cambiar el tamaño de la última columna.

Respondido el 26 de enero de 14 a las 11:01

Creo que le falta el punto de la última columna que no puede cambiar el tamaño a un tamaño más grande porque el control de la cuadrícula termina allí y no hay espacio disponible para cambiar su tamaño. - urbanhusky

Lo que probablemente desee es que el usuario cambie el tamaño del borde izquierdo de la última columna, no que pueda cambiar el tamaño del borde derecho de la última columna.

Una opción es establecer AutoSizeMode de la última columna en 'Rellenar' y las otras columnas en algún otro modo, como 'No establecido'. Hacer esto haría que cuando cambie el tamaño del borde derecho de la penúltima columna, el borde izquierdo de la última columna llene automáticamente ese espacio.

Respondido 12 Feb 19, 22:02

¿Por qué no agregar una columna adicional configurada con un ancho de cero, para que el usuario pueda cambiar el tamaño de la última que realmente desea mostrar? ¡Sé que es un poco tonto! Si le importa, probablemente podría cambiar el tamaño de la propiedad = false de la celda de longitud cero adicional para no permitir el cambio de tamaño. Ese método no me estaba funcionando correctamente. Se requiere vincular el último campo a algo, o de lo contrario el campo anterior (que era mi última columna antes de agregar la falsa) no permitiría cambiar el tamaño.

Para mí, el problema fue causado por cambiar la propiedad AutoSizeMode de mi última columna a AllCells (que era un DataGridViewTextBoxColumn) a sugerencia de una solución para hacer un cuadro de texto de varias columnas. Pero esto no funcionó de la forma en que lo necesitaba, así que lo hice de una manera diferente (creando un cuadro de texto dinámico y colocándolo donde quería, pero había dejado AutoSizeMode = AllCells.

Cuando configuro AutroSizeMode = NotSet en mi última columna, ¡DataGridView permite al usuario cambiar el tamaño de esta última columna ahora!

respondido 27 nov., 18:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.