FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour 驴Saber numero de columna del browse? (SOLUCIONADO)
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
驴Saber numero de columna del browse? (SOLUCIONADO)
Posted: Fri Oct 27, 2023 10:30 PM
Saludos al foro:

Cre铆 tener la soluci贸n pero veo que no es as铆, tratar茅 de explicarme:

Tengo un browse de 120 columnas 10 columnas por cada mes del a帽o,
en el dialogo solo muestro 10 aunque el browse tiene definidas las 120
y solo con scroll horizontal voy mostrando las columna de los otros meses.

-----------------------------------------E N E R O ----------------------------------------------| -------------- F E B R E R O
COL01 COL02 COL03 COL04 COL05 COL06 COL07 COL08 COL09 COL10 COL11 COL12 | COL13 COL14 COL15 COL16 <====== Encabezado de la columna
FLD01 FLD02 FLD03 FLD04 FLD05 FLD06 FLD07 FLD08 FLD09 FLD10 FLD11 | FLD12 FLD13 FLD14 FLD15 FLD16<====== Nombre del campo de la tabla que contiene el valora a mostrar

En el browse tengo definido un men煤 emergente con el siguiente c贸digo
Code (fw): Select all Collapse
:bRClicked := { | nRow, nCol | MenuPop(oBrw,oBrw:nRowSel,oBrw:nColSel,nRow,nCol) }
....
....
STATIC FUNCTION MenuPop(oBrw,nRow,nCol,nNumRow,nNumCol)
聽 聽LOCAL oMenu

聽 聽MENU oMenu POPUP 2007
聽 聽 聽 MENUITEM "Registrar" 聽 聽 聽 聽 聽RESOURCE "ADD" ACTION Registrar(cShortField,cLongField,nCol)
聽 聽 聽 SEPARATOR
聽 聽 聽 MENUITEM "Salir" 聽 聽 聽 聽 聽 聽 聽RESOURCE "EXI" ACTION oMenu:END( )
聽 聽ENDMENU

聽 聽ACTIVATE POPUP oMenu AT nNumRow , nNumCol OF oBrw
RETURN(.T.)
Hasta aqu铆 todo bien, pero en la funci贸n Registrar() necesito conocer el n煤mero de la columna en la
que el usuario dio el clic derecho del rat贸n, el problema se presenta as铆

Ejemplo si el usuario da clic derecho en la primera columna, la variable nCol me da el n煤mero 01
que corresponde a la primera columna visible en el dialogo, ahora con scroll hacemos visibles las
columnas de Febrero si damos clic sobre la primera columna, la variable nCol me repite el n煤mero 01
Y yo necesito tener la columna 11 (10 de enero m谩s 1 de febrero).

Por otro lado, si utilizo la variable nNumCol, me da valores mas altos como 470, 580 pero tambi茅n
es el mismo caso, se repiten los valores sin diferenciar el mes que se muestra en el dialogo.

En otras palabras quiero obtener el nombre del campo que se muestra en el browse en
funci贸n a la columna donde el usuario da clic y eso lo logro con el siguiente c贸digo
Code (fw): Select all Collapse
oBrw:aCols[nCol]:cExpr
Pero como ven es imprescindible el n煤mero de columna.

La raz贸n de querer saber el nombre del campo es porque como son 120 columnas y quiero ahorrarme
c贸digo al momento de actualizar la tabla, con el siguiente c贸digo actualizo sin importarme la columna
en la que el usuario di贸 clic.
Code (fw): Select all Collapse
聽 聽cCmdSql 聽:= "UPDATE " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "Pdfs " +;
聽 聽 聽 聽 聽 聽 聽 聽"SET " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 cLongField + " = 1," +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 cShortField + " = '" + cPdfFile + "' " +;
聽 聽 聽 聽 聽 聽 聽 聽"WHERE " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "PDF_NUM = " + Str(oRsPdf:Fields("PDF_NUM"):Value,03,0) + " " +;
聽 聽 聽 聽 聽 聽 聽 聽"AND " +;
聽 聽 聽 聽 聽 聽 聽 聽 聽 "PDF_A脩O = " + Str(nAmo,04,0)
Disculpen la perorata pero quise explicarme lo m谩s posible.

Muchas gracias
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: 驴Saber numero de columna del browse?
Posted: Fri Oct 27, 2023 11:25 PM

Puede servirte

oBrw:aCols[nCol]:nCreationorder

No se si te entendi bien igualmente....

Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: 驴Saber numero de columna del browse?
Posted: Sat Oct 28, 2023 03:31 AM
C茅sar:

Agradezco la respuesta, te muestro los resultados
Code (fw): Select all Collapse
:bRClicked := { | nRow, nCol | MenuPop(oBrw,oBrw:nRowSel,oBrw:nColSel,nRow,nCol) } <=== Clic sobre un rengl贸n, celda
....

STATIC FUNCTION MenuPop(oBrw,nRowSel,nColSel,nRow,nCol) 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 <=== Funci贸n donde recibimos los valores pasados
// Estos son los valores recibidos dando clic sobre la primera columna de FEBRERO, te recuerdo que en el dialogo solo se muestra 10 columnas del mes
聽 聽? nRowSel 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<= 1
聽 聽? nColSel 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<= 3
聽 聽? oBrw:aCols[nColSel]:nCreationOrder 聽 聽 聽 聽 聽 聽 聽 聽 聽 <= 3 聽El valor que espero en lugar de 3 debe ser 11
聽 聽? nColSel 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽 聽<= 3
RETURN(.T.)
El men煤 se muestra en el rengl贸n / Columna correctos pero los n煤meros de columna no
Tal vez NO estoy haciendo bien las cosas ?

Saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: 驴Saber numero de columna del browse? (SOLUCIONADO)
Posted: Sat Oct 28, 2023 04:29 AM
Amigos del foro:

Con agrado les menciono que ya esta solucionado el tema gracias a la idea de C茅sar,
muestro la soluci贸n por si a alguien m谩s la necesita:
Code (fw): Select all Collapse
AllTrim(oBrw:aCols[oBrw:SelectedCol():nCreationOrder]:cExpr)
Gracias estimado foro, saludos
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: 驴Saber numero de columna del browse? (SOLUCIONADO)
Posted: Sat Oct 28, 2023 02:46 PM
Armando wrote:Amigos del foro:

Con agrado les menciono que ya esta solucionado el tema gracias a la idea de C茅sar,
muestro la soluci贸n por si a alguien m谩s la necesita:
Code (fw): Select all Collapse
AllTrim(oBrw:aCols[oBrw:SelectedCol():nCreationOrder]:cExpr)
Gracias estimado foro, saludos
https://www.forums.fivetechsupport.com/viewtopic.php?f=3&t=14834

Regards, saludos.
Jo茫o Santos - S茫o Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 3358
Joined: Fri Oct 07, 2005 08:20 PM
Re: 驴Saber numero de columna del browse? (SOLUCIONADO)
Posted: Sat Oct 28, 2023 04:17 PM

Karinha:

Aunque ya esta resuelto el tema, te agradezco la respuesta, busque en el foro

con oBrw:aCols[oBrw:SelectedCol():nCreationOrder] pero no mostraba resultados.

Saludos

SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero

Continue the discussion