Página 1 de 1

tBrowse: cambiar posici

Publicado: Vie May 12, 2006 12:56 pm
por jose.luis
Hola,
En este código:
LOCAL aDatos
LOCAL aCabeceras
aDatos := { { 1, 2,3}, {4,5,6} }
aCabeceras := { "Tres","Dos","Uno" }
::oMemDataSet1:Open( aDatos, aCabeceras )
Logdebug(::odbBrowse1:aCols[3]:nPos) //----> 3
Logdebug(::odbBrowse1:aCols[3]:nIndex) //----> 3
¿Como puedo cambiar de posición la columna 3 y ponerla en la primera
desde código?
Saludos y gracias.
José Luis Capel

tBrowse: cambiar posici

Publicado: Vie May 12, 2006 1:06 pm
por ignacio
José Luis,
SwapCols() si quieres intercambiar la posición de las dos columnas, y
MoveCol() para mover la columna a cualquier posición.
Saludos,
"José Luis Capel" <jose.luis@iaicom.com> escribió en el mensaje
news:[email=Xns97C183B2DBF41asalesiaicomcom@82.144.6.50...]Xns97C183B2DBF41asalesiaicomcom@82.144.6.50...[/email]
>
> Hola,
>
> En este código:
>
> LOCAL aDatos
> LOCAL aCabeceras
>
>
> aDatos := { { 1, 2,3}, {4,5,6} }
> aCabeceras := { "Tres","Dos","Uno" }
>
> ::oMemDataSet1:Open( aDatos, aCabeceras )
>
> Logdebug(::odbBrowse1:aCols[3]:nPos) //----> 3
> Logdebug(::odbBrowse1:aCols[3]:nIndex) //----> 3
>
> ¿Como puedo cambiar de posición la columna 3 y ponerla en la primera
> desde código?
>
> Saludos y gracias.
> José Luis Capel

tBrowse: cambiar posici

Publicado: Vie May 12, 2006 1:57 pm
por Aicom
Ignacio,
Gracias por tu respuesta.
> SwapCols() si quieres intercambiar la posición de las dos columnas, y
> MoveCol() para mover la columna a cualquier posición.
Con MoveCol no he conseguido hacer que las columnas se muevan. Más
concretamente:
::odbBrowse:MoveCol( ::odbBrowse:aCols[1], 2)
::odbBrowse:MoveCol( ::odbBrowse:aCols[2], 1)
Aparentemente (y salvo error u omisión) no hace nada.
Sin embargo:
::odbBrowse:MoveCol( ::odbBrowse:aCols[1], 2, .F. )
::odbBrowse:MoveCol( ::odbBrowse:aCols[2], 1, .F. )
Si que hace el cambio, pero no se refresca correctamente el browse,
incluse después de un ::odbBrowse:Refresh( .T. ).
Dejo un ejemplo con MemDataset y dbBrowse.
Saludos y gracias por vuestro tiempo.
José Luis Capel


Attached files pruebas.zip (1.9 KB)Â

tBrowse: cambiar posici

Publicado: Vie May 12, 2006 5:18 pm
por ignacio
José Luis,
Analicemos tu código:
::odbBrowse1:MoveCol( ::odbBrowse1:aCols[1], 4 )
::odbBrowse1:MoveCol( ::odbBrowse1:aCols[2], 3 )
::odbBrowse1:MoveCol( ::odbBrowse1:aCols[3], 2 )
::odbBrowse1:MoveCol( ::odbBrowse1:aCols[4], 1 )
1) La columna 1 pasa a ser la 4
2) La columna 2 pasa a ser la 3
3) La columna 3 pasa a ser la 2, por lo tanto se queda igual que antes
4) la columna 4 pasa a ser la 1, por lo tanto la 1 y la 4 se quedan como
antes
ES DECIR, NO SE PRODUCE NINGUN CAMBIO REALMENTE.
Si comento las tres últimas lineas y sólo dejo la primera puedes comprobar
como la primera columna ocupa la cuarta posición y FUNCIONA PERFECTAMENTE.
Me cuesta creer que no te hayas dado tu cuenta del hecho de que realmente
estas dejando todo igual y que por lo tanto no existe tal error. Te ruego
por favor compruebes lo que digo y me corrigas en aquello que pueda estar
equivocado porque seguramente lo estaré. Quedo a la espera de tu respuesta.
Gracias de antemano,
"Aicom" <aicom@iaicom.com> escribió en el mensaje
news:[email=Xns97C18E01F187Basalesiaicomcom@82.144.6.50...]Xns97C18E01F187Basalesiaicomcom@82.144.6.50...[/email]
> Ignacio,
>
> Gracias por tu respuesta.
>
>> SwapCols() si quieres intercambiar la posición de las dos columnas, y
>> MoveCol() para mover la columna a cualquier posición.
>
> Con MoveCol no he conseguido hacer que las columnas se muevan. Más
> concretamente:
>
> ::odbBrowse:MoveCol( ::odbBrowse:aCols[1], 2)
> ::odbBrowse:MoveCol( ::odbBrowse:aCols[2], 1)
>
> Aparentemente (y salvo error u omisión) no hace nada.
>
> Sin embargo:
>
> ::odbBrowse:MoveCol( ::odbBrowse:aCols[1], 2, .F. )
> ::odbBrowse:MoveCol( ::odbBrowse:aCols[2], 1, .F. )
>
> Si que hace el cambio, pero no se refresca correctamente el browse,
> incluse después de un ::odbBrowse:Refresh( .T. ).
>
> Dejo un ejemplo con MemDataset y dbBrowse.
>
> Saludos y gracias por vuestro tiempo.
> José Luis Capel
>
>
>
>
>

tBrowse: cambiar posici

Publicado: Vie May 12, 2006 5:57 pm
por Aicom
Ignacio,
Gracias por tu respuesta.
> Me cuesta creer que no te hayas dado tu cuenta del hecho de que
> realmente estas dejando todo igual y que por lo tanto no existe tal
> error. Te ruego por favor compruebes lo que digo y me corrigas en
> aquello que pueda estar equivocado porque seguramente lo estaré. Quedo
> a la espera de tu respuesta.
Más me cuesta a mi :-(
Disculpa por hacer perder tu tiempo...
Saludos y gracias por todo,
José Luis Capel