Columna extra del grid

26/01/2007 - 15:37 por Oscar Blanco | Informe spam
Hola amigos

Quisiera saber como elimino la columna extra que muestran los grid, el
problema es el siguiente; tengo un formulario y agrego el grid la cuestión es
que cuando defino la cantidad de columna por ejemplo 3 columnas, siempre
aparece una columna demas en blanco (la ultima columna).

Desde que utilizo visual foxpro, siempre consigo el problema de los grid en
ese punto, no entiendo porque los ingenieros que desarrollan las versiones de
visual foxpro no ha eliminado ese detalle.

he buscado en la internet methodo o tecnicas que me permita solucionar el
problema, pero mi busqueda a sido en vano. Visite la pagina de portal fox y
no pude enviar un comentario a aquellos que se encuentran en linea.

Espero tengan una solución a mi problema, de antemano se los agradezco.

Gracias

PSDT: si pueden, envienme su respueta a blanco_or@HOTMAIL.COM
 

Leer las respuestas

#1 Germán GIraldo
26/01/2007 - 16:46 | Informe spam
No pidas respuestas a tu correo, las respuestas se dan en el foro para que
todos nos beneficiemos.

Tal vez te refieres al espacio en blanco que queda a la derecha, que tiene
la apariencia de columna, pero no es una columna. Para eliminarlo debes
ajustar el ancho del grid y/o las columnas.

El Grid de VFP tiene un método AutoFit() que funaciona diferente, pero
puedes sobrescribirlo para que haga lo que deseas y lo llamas desde el el
evento Init del Grid.

El siguiente es el código que puedes poner en el método AutoFit del Grid, o
mejor aún, en tu clase Grid.

** Método AutoFit del GRID o tu clase GRID
LOCAL lnWCol, lnWFijo, lnI, lnWrel
NODEFAULT
* Calcular ancho de area ocupada por columnas
lnWCol = 0
FOR lni=1 TO This.COLUMNCOUNT
lnWcol = lnWCol + This.Columns(lni).width
NEXT
* Ancho fijo = suma de ScrollBar + RecordMark + DeleteMark + Lineas de
separación
lnWFijo = IIf(InList(This.ScrollBars,2,3),Sysmetric(5) + 2, 0) ;
+ Iif(This.RecordMark,10,0) ;
+ Iif(This.DeleteMark,10,0) ;
+ This.COLUMNCOUNT
* Calcular relación para cambio en el ancho
lnWrel = (This.width - lnWFijo) / lnWCol
* Cambiar ancho de columnas
FOR lni=1 TO This.COLUMNCOUNT
This.Columns(lni).width = This.Columns(lni).width * lnWrel + 0.5
NEXT

**Evento Init del GRID o tu Clase GRID
This.AutoFit()

En tiempo de diseño no verás desaparecer el espacio en blanco a la derecha,
pero en tiempo de ejecución, debe desaparecer ese espacio ("columna"). En
realidad no desaparece, se redimensiona proporcinalmente el ancho de las
columnas para rellenar ese espacio. El ancho del GRID no se cambia.

Espero que te sirva

Saludos

Germán Giraldo


"Oscar Blanco" <Oscar escribió en el
mensaje news:
Hola amigos

Quisiera saber como elimino la columna extra que muestran los grid, el
problema es el siguiente; tengo un formulario y agrego el grid la cuestión
es
que cuando defino la cantidad de columna por ejemplo 3 columnas, siempre
aparece una columna demas en blanco (la ultima columna).

Desde que utilizo visual foxpro, siempre consigo el problema de los grid
en
ese punto, no entiendo porque los ingenieros que desarrollan las versiones
de
visual foxpro no ha eliminado ese detalle.

he buscado en la internet methodo o tecnicas que me permita solucionar el
problema, pero mi busqueda a sido en vano. Visite la pagina de portal fox
y
no pude enviar un comentario a aquellos que se encuentran en linea.

Espero tengan una solución a mi problema, de antemano se los agradezco.

Gracias

PSDT: si pueden, envienme su respueta a

Preguntas similares