Congelar columnas en xBrowse (Solucionado)
-
- Posts: 37
- Joined: Tue Aug 10, 2010 2:05 pm
Congelar columnas en xBrowse (Solucionado)
Tengo el siguiente inconveniente cuando congelo columnas en el xBrowse:
Tengo de un xBrowse de 30 columnas, congelo la columna 3, muevo la celda activa hacia la derecha (hasta el final), algunas columnas quedan ocultas ( 4, 5, 6, etc.) por el congelamiento. Hasta ahí todo está bien.
El problema es cuando pulso la tecla hacia la izquierda para volver, las columnas que quedaron ocultas ( 4, 5, 6, etc.) no aparecen hasta que llego a la columna 1 y continúo pulsando la tecla a la izquierda recién empiezan a aparecer las columnas ocultadas.
¿No deberían aparecer las columnas ocultadas (4, 5, 6, etc.) cuando este intentando llegar a la columna 3?
Tengo de un xBrowse de 30 columnas, congelo la columna 3, muevo la celda activa hacia la derecha (hasta el final), algunas columnas quedan ocultas ( 4, 5, 6, etc.) por el congelamiento. Hasta ahí todo está bien.
El problema es cuando pulso la tecla hacia la izquierda para volver, las columnas que quedaron ocultas ( 4, 5, 6, etc.) no aparecen hasta que llego a la columna 1 y continúo pulsando la tecla a la izquierda recién empiezan a aparecer las columnas ocultadas.
¿No deberían aparecer las columnas ocultadas (4, 5, 6, etc.) cuando este intentando llegar a la columna 3?
Last edited by abelcervantes on Thu Jun 06, 2013 4:52 pm, edited 1 time in total.
Re: Congelar columnas en xBrowse
Abel,
Yo lo hago así:
Espero te sirva.
Rolando
Yo lo hago así:
Code: Select all
for f = 4 to 30 // columnas a ocultar
oBrw:aCols[f]:hide()
next
Rolando
-
- Posts: 37
- Joined: Tue Aug 10, 2010 2:05 pm
Re: Congelar columnas en xBrowse
Gracias Rolando, pero no quiero que las columnas 4 al 30 queden ocultas.
Estoy usando el nFreeze para congelar las tres primeras columnas de modo que cuando muevo el puntero a la derecha (hasta la última columna), varias columnas quedan ocultas (automáticamente) debido a que las tres primeras columnas están congeladas.
oBrw:nFreeze := 3
Hasta ahí todo funciona bien.
Mi problema es que cuando muevo el puntero hacia la izquierda llevandolo a la tercer columna (congelada) debería aparecer la columnas ocultadas, pero no sucede así.
Las columnas que quedaron ocultas solo aparecen cuando llego con el puntero a la primer columna y continúo pulsando la tecla hacia la izquierda.
Estoy usando el nFreeze para congelar las tres primeras columnas de modo que cuando muevo el puntero a la derecha (hasta la última columna), varias columnas quedan ocultas (automáticamente) debido a que las tres primeras columnas están congeladas.
oBrw:nFreeze := 3
Hasta ahí todo funciona bien.
Mi problema es que cuando muevo el puntero hacia la izquierda llevandolo a la tercer columna (congelada) debería aparecer la columnas ocultadas, pero no sucede así.
Las columnas que quedaron ocultas solo aparecen cuando llego con el puntero a la primer columna y continúo pulsando la tecla hacia la izquierda.
- FranciscoA
- Posts: 1964
- Joined: Fri Jul 18, 2008 1:24 am
- Location: Chinandega, Nicaragua, C.A.
Re: Congelar columnas en xBrowse
Abel.
Yo tambien tengo ese pequeño inconveniente.
Un un dialog tengo 2 xbrowses. En el primero 50 columnas y congelada la 1 y 2da col, y en el segundo tengo 4 columnas. Al recorrer las columnas en el primer browse, se va actualizando el segundo con algunos datos. Al inicio y si voy hacia la derecha, todo correcto, pero cuando regreso, al llegar a las congeladas, ya no funciona el refrescamiento del 2do browse aunque llegue hasta la primer col congelada y siga presionando hacia la izquierda. Por ejemplo, visibles tengo 8 columnas incluyendo las congeladas. Si llego hasta la 50 y regreso, cuando llego a la 42 que está antes de las congeladas, ya no trabaja lo descrito, ni van apareciendo estas columnas, sino hasta cuando llego a la numero 1 y continuo con las flechitas hacia la izquierda.
Creo que xbrowse aun no cuenta con esta funcionalidad (si no me equivoco). Sería interesante si se pudiera contar con ella.
Por el momento, he codificado en el keydown para que manteniendo oprimida la tecla VK_CONTROL e introduciendo un valor, se active la columna deseada, y por lo consiguiente la accion que esperaba.
Saludos.
Yo tambien tengo ese pequeño inconveniente.
Un un dialog tengo 2 xbrowses. En el primero 50 columnas y congelada la 1 y 2da col, y en el segundo tengo 4 columnas. Al recorrer las columnas en el primer browse, se va actualizando el segundo con algunos datos. Al inicio y si voy hacia la derecha, todo correcto, pero cuando regreso, al llegar a las congeladas, ya no funciona el refrescamiento del 2do browse aunque llegue hasta la primer col congelada y siga presionando hacia la izquierda. Por ejemplo, visibles tengo 8 columnas incluyendo las congeladas. Si llego hasta la 50 y regreso, cuando llego a la 42 que está antes de las congeladas, ya no trabaja lo descrito, ni van apareciendo estas columnas, sino hasta cuando llego a la numero 1 y continuo con las flechitas hacia la izquierda.
Creo que xbrowse aun no cuenta con esta funcionalidad (si no me equivoco). Sería interesante si se pudiera contar con ella.
Por el momento, he codificado en el keydown para que manteniendo oprimida la tecla VK_CONTROL e introduciendo un valor, se active la columna deseada, y por lo consiguiente la accion que esperaba.
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.
Fwxh1204-MySql-TMySql
Chinandega, Nicaragua.
Fwxh1204-MySql-TMySql
- nageswaragunupudi
- Posts: 8017
- Joined: Sun Nov 19, 2006 5:22 am
- Location: India
- Contact:
Re: Congelar columnas en xBrowse
This is the behaviour of xbrowseabelcervantes wrote:Tengo el siguiente inconveniente cuando congelo columnas en el xBrowse:
Tengo de un xBrowse de 30 columnas, congelo la columna 3, muevo la celda activa hacia la derecha (hasta el final), algunas columnas quedan ocultas ( 4, 5, 6, etc.) por el congelamiento. Hasta ahí todo está bien.
El problema es cuando pulso la tecla hacia la izquierda para volver, las columnas que quedaron ocultas ( 4, 5, 6, etc.) no aparecen hasta que llego a la columna 1 y continúo pulsando la tecla a la izquierda recién empiezan a aparecer las columnas ocultadas.
¿No deberían aparecer las columnas ocultadas (4, 5, 6, etc.) cuando este intentando llegar a la columna 3?
Regards
G. N. Rao.
Hyderabad, India
G. N. Rao.
Hyderabad, India
- FranciscoA
- Posts: 1964
- Joined: Fri Jul 18, 2008 1:24 am
- Location: Chinandega, Nicaragua, C.A.
Re: Congelar columnas en xBrowse
Abel, prueba esto: http://fivetechsupport.com/forums/viewt ... 60#p145111
Saludos.
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.
Fwxh1204-MySql-TMySql
Chinandega, Nicaragua.
Fwxh1204-MySql-TMySql
-
- Posts: 37
- Joined: Tue Aug 10, 2010 2:05 pm
Re: Congelar columnas en xBrowse
Estimado Francisco:
Antes que nada, muchas gracias por tu ayuda, estoy seguro que con el dato que me diste podré soluccionar mi problema.
Solo que... disculpa la ignorancia, pero, ¿dónde coloco la rutina (metodo) que has desarrollado?
¿Acaso debo colocarlo en mi programa? y ¿que pasos debo seguir para incluirlo?
Antes que nada, muchas gracias por tu ayuda, estoy seguro que con el dato que me diste podré soluccionar mi problema.
Solo que... disculpa la ignorancia, pero, ¿dónde coloco la rutina (metodo) que has desarrollado?
¿Acaso debo colocarlo en mi programa? y ¿que pasos debo seguir para incluirlo?
- FranciscoA
- Posts: 1964
- Joined: Fri Jul 18, 2008 1:24 am
- Location: Chinandega, Nicaragua, C.A.
Re: Congelar columnas en xBrowse
Abel.
Yo acostumbro modificar la class original, y reconstruir la libreria.
Otra manera, más sencilla es hacer una copia de la class txbrowse al directorio de tu aplicacion, y ahí sustituyes el METHOD Goleft() por el que te muestro mas abajo. En esto colaboramos Rolando y el suscrito, y posteriormente fue perfeccionado por Mr. Nages. Una vez sustituido el metodo, agregas el prg a tu compilacion y listo.
Cualquier duda posteala en este maravilloso foro.
Saludos.
Yo acostumbro modificar la class original, y reconstruir la libreria.
Otra manera, más sencilla es hacer una copia de la class txbrowse al directorio de tu aplicacion, y ahí sustituyes el METHOD Goleft() por el que te muestro mas abajo. En esto colaboramos Rolando y el suscrito, y posteriormente fue perfeccionado por Mr. Nages. Una vez sustituido el metodo, agregas el prg a tu compilacion y listo.
Code: Select all
METHOD GoLeft( lOffset, lRefresh ) CLASS TXBrowse
::CancelEdit()
if ::nMarqueeStyle == MARQSTYLE_NOMARQUEE .or. ( ::nMarqueeStyle >= MARQSTYLE_HIGHLROW .and. ::bClrRowFocus == nil )
lOffset := .t.
endif
DEFAULT lOffset := .f., lRefresh := .t.
// Begin insert new code
if ::nFreeze > 0 .and. ::nColOffSet > 1 .and. ::nColSel == ::nFreeze + 1
lOffset := .t.
endif
// end of inserted code
if ( !lOffset .and. ::IsDisplayPosVisible( ::nColSel - 1 ) ) .or. ;
( ::nColOffset == 1 .and. ::nColSel > 1 )
::nColSel--
if lRefresh
if ::FullPaint()
::Super:Refresh( .t. )
else
::DrawLine( .t. )
endif
endif
elseif ::nColOffset > 1
::nColOffset--
::GetDisplayCols()
if lRefresh
::Super:Refresh( ::FullPaint() )
endif
endif
if ::oHScroll != nil
::oHScroll:GoUp()
endif
::Change( .f. )
return nil
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.
Fwxh1204-MySql-TMySql
Chinandega, Nicaragua.
Fwxh1204-MySql-TMySql
- FranciscoA
- Posts: 1964
- Joined: Fri Jul 18, 2008 1:24 am
- Location: Chinandega, Nicaragua, C.A.
Re: Congelar columnas en xBrowse
Tambien puedes sobre-escribir el metodo. Mira aqui:
http://forums.fivetechsupport.com/viewt ... 419#p28178
Saludos.
http://forums.fivetechsupport.com/viewt ... 419#p28178
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.
Fwxh1204-MySql-TMySql
Chinandega, Nicaragua.
Fwxh1204-MySql-TMySql
-
- Posts: 37
- Joined: Tue Aug 10, 2010 2:05 pm
Re: Congelar columnas en xBrowse
Estimado Francisco:
¡Muchisimas gracias!
Logré solucionar mi problema con la rutina y el procedimiento que me recomendaste.
Realmente este es un maravilloso foro.
¡Muchisimas gracias!
Logré solucionar mi problema con la rutina y el procedimiento que me recomendaste.
Realmente este es un maravilloso foro.