Visual Basic - ocultar columnas en MsFlexgrid

Life is soft - evento anual de software empresarial
 
Vista:

ocultar columnas en MsFlexgrid

Publicado por Antonio (6 intervenciones) el 04/12/2001 14:05:06
Hola, ¿alguien podría decirme como ocultar columnas en un flexhgrid?, ya que no funciona la propiedad colIsVisible poniendola a false (supongo que será un fallo del control), tb he probado poniendo el widh de la columna a 0, pero con eso no consigo ocultarla sino dimensionarla a 0.
Gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:ocultar columnas en MsFlexgrid

Publicado por gustavo (55 intervenciones) el 04/12/2001 15:55:04
proba con
MSHFlexGrid1.ColWidth(i)=0
donde i es la columna que queres hacer invisible
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ocultar columnas en MsFlexgrid

Publicado por Antonio (6 intervenciones) el 05/12/2001 04:44:39
hmmmm, gracias por la respuesta, pero en mi mensaje decía que con eso lo he hecho, pero de esta forma no consigues ocultar la columna, sino dimensionarla a 0, fijate, prueba donde esté situada esa columna a redimensionarla, te aparecerá como por arte de magia. Alguna forma más? :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ocultar columnas en MsFlexgrid

Publicado por gustavo (55 intervenciones) el 05/12/2001 17:35:17
Si lo que queres es ocultar la columna al usuario, funciona. ahora si lo que queres es sacar la columna del msflexgrid no funciona porque la columna sigue estando.
No se si hay una forma directa de hacerlo como por ejemplo cuando queres eliminar una fila (usas .removeitem) lo que podes hacer (mediante codigo) es:
si queres eliminar la columna i tebnes que ir asignano los valores de la columna i+1 (celda por celda) a la columna i y despues los valores de la columna i+2 a la columna i+1 y asi hasta msflexgrid.cols y por ultimo borras la ultima columna haciendo msflexgrid.cols=msflexgrid.cols -1

seria halgo así
x es la columna a borrar
for i =x to msflexgrid.cols - 2
for j=0 to msflexgrid.rows - 1
msflexgrid.textmatrix(j,i) = msflexgrid.textmatrix(j,i+1)
next
next
msflexgrid.cols=msflexgrid.cols-1
espero que te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

ocultar columnas en MsFlexgrid

Publicado por LUIS (1 intervención) el 09/12/2021 18:03:42
MsFG_Tarifas.ColIsVisible(0) = False
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Luis
Val: 36
Ha mantenido su posición en Visual Basic (en relación al último mes)
Gráfica de Visual Basic

ocultar columnas en MsFlexgrid

Publicado por Luis (25 intervenciones) el 09/12/2021 20:54:33
Hola

La propiedad ColIsvisible solo sirve para averiguar la visibilidad de la columna con un simple If Then, no para ejecutar la visibilidad o su contrario.

Si no quieres que el usuario juegue cambiando el ancho de las columnas para que accidentalmente halle la oculta si realmente la necesitas, entonces deberías usar la propiedad AllowUserResizing del grid en los valores 0 ó 2, no 1 ó 3, donde 0 = Ningún redimensionamiento, 1 = Solo columnas, 2 = Solo filas y 3 = Ambas.

Pero si ya sabes eso y quieres que el user pueda hinchar o achicar las columnas para que vea sus datos a su gusto, entonces para que no chequee los de la columna problemática te sugiero pintes los datos de ella del color del fondo de sus celdas, así vería celdas vacías, siempre y cuando las propiedades BackColorSel y ForeColorSel sean iguales al final jeje.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar