Cambiar columna de posicion de un XBrowse

Cambiar columna de posicion de un XBrowse

Postby RodolfoRBG » Sun Oct 03, 2010 2:59 am

aArreglo:={{1,"Pedro","Gomez"},{2,"Pablo","Perez"},{3,"Hugo","Ramirez"},{4,"Juan","Chavez"}}
oBrw:SetArray(aArreglo)

en el XBrowse me apareceran las siguientes columnas: No., Nombre, Apellido

como le hago para que me las muestre en el siguiente orden: No., Apellido, Nombre

No encuentro la instruccion para mover de lugar la columna. Alguien lo sabe?
RodolfoRBG
FWH 1307, xHarbour123 BCC582
rodolfoerbg@gmail.com
User avatar
RodolfoRBG
 
Posts: 257
Joined: Tue May 16, 2006 4:46 pm
Location: San Luis Potosi, SLP, Mexico

Re: Cambiar columna de posicion de un XBrowse

Postby FranciscoA » Sun Oct 03, 2010 3:24 am

Rodolfo, intenta con: oBrw:SwapCols(3,2,.t.), //donde 3 y 2 son las cols a intercambiar

Tambien, si lo quieres arrastrando el header de la columna hasta la posicion deseada, debes configurar xBrowse así:
oBrw:lAllowColSwapping := .f. // If true col swapping is allowed

Saludos
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Cambiar columna de posicion de un XBrowse

Postby RodolfoRBG » Sun Oct 03, 2010 3:47 am

Muuuuy bien, gracias pero ya vez como es uno de flojo. Resulta que tengo 18 columnas y la ultima la quiero pasar a la 1ra y que el resto se recorran a la derecha. Es eso posible con menos intsrucciones que hacer el swap de columna por columna?

Otra pregunta (para documentar bien mi manual personal), para que sirve el parametro .T. que se coloca al final?
RodolfoRBG
FWH 1307, xHarbour123 BCC582
rodolfoerbg@gmail.com
User avatar
RodolfoRBG
 
Posts: 257
Joined: Tue May 16, 2006 4:46 pm
Location: San Luis Potosi, SLP, Mexico

Re: Cambiar columna de posicion de un XBrowse

Postby FranciscoA » Sun Oct 03, 2010 3:54 am

Rodolfo:
oBrw:SwapCol(18,1,.t.)
El tercer parametro es para refrescar el oBrw. Si no lo tienes en tu version, debes hacer oBrw:Refresh()

Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Cambiar columna de posicion de un XBrowse

Postby FranciscoA » Sun Oct 03, 2010 3:58 am

¡Upp!, Sorry. Esto solo intercambia las columnas, pero creo que puedes hacerlo con un FOR NEXT. Voy a probar y luego te aviso.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Cambiar columna de posicion de un XBrowse

Postby RodolfoRBG » Sun Oct 03, 2010 4:04 am

Gracias de nuevo pero regresando al arreglo del 1er ejemplo, las columnas originalmente son:
No., Nombre, Apellido
y lo que quiero es que queden:
Apellido, No., Nombre
o sea pasar la ultima columna al 1er lugar y recorrer a la derecha las otras 2. Al hacer oBrw:SwapCols(3,1) el resultado es:
Apellido, Nombre, No.
o sea intercambio posiciones en lugar de insertar la 3er columna en la 1ra.
RodolfoRBG
FWH 1307, xHarbour123 BCC582
rodolfoerbg@gmail.com
User avatar
RodolfoRBG
 
Posts: 257
Joined: Tue May 16, 2006 4:46 pm
Location: San Luis Potosi, SLP, Mexico

Re: Cambiar columna de posicion de un XBrowse

Postby RodolfoRBG » Sun Oct 03, 2010 4:29 am

Solucionado!!! la instruccion seria oBrw:MoveCol(nFrom,nTo,.T.) lo que pasa es que no viene documentada en la ayuda.

Gracias!!
RodolfoRBG
FWH 1307, xHarbour123 BCC582
rodolfoerbg@gmail.com
User avatar
RodolfoRBG
 
Posts: 257
Joined: Tue May 16, 2006 4:46 pm
Location: San Luis Potosi, SLP, Mexico

Re: Cambiar columna de posicion de un XBrowse

Postby FranciscoA » Sun Oct 03, 2010 4:39 am

Muy bien, Rodolfo, te habia preparado esto, no se me ocurrió ver MoveCol(): (vaya que reinventamos la rueda, ja-ja-ja)

Function InterCamb(oBrw,nCol1,nCol2)
local n, nPosAct:=nCol1
local nNvaPos:=0
For n:= 1 to nCol1
nNvaPos:= nPosAct-1
oBrw:SwapCols(nPosAct,nNvaPos)
oBrw:Refresh()
nPosAct-=1
Next
Return nil
Saludos
Last edited by FranciscoA on Sun Oct 03, 2010 4:45 am, edited 1 time in total.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2159
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Cambiar columna de posicion de un XBrowse

Postby RodolfoRBG » Sun Oct 03, 2010 4:44 am

Gracias Francisco, realmente me dista la pauta para buscar la solucion.
RodolfoRBG
FWH 1307, xHarbour123 BCC582
rodolfoerbg@gmail.com
User avatar
RodolfoRBG
 
Posts: 257
Joined: Tue May 16, 2006 4:46 pm
Location: San Luis Potosi, SLP, Mexico


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 120 guests