Page 1 of 1

Problema Con ComboBox URGENTE

Posted: Fri Oct 04, 2019 8:51 pm
by remtec
Hola Amigos

Tengo un problema con ComboBox.

Uso un Array " aTpagos ", el cual contiene 2 elementos, Codigo y Detalle. Mi nueva necesidad es que ahora este Array tiene 3 Elementos "Codigo", "Detalle" y "Valor".

Mi nueva necesidad es que ademas de Obtener el Detalle o Segundo Elemento, debo Obtener el Tercer Elemento " Valor"

Desde ya muchas gracias.

Antonio

Code: Select all

     @ 43,49 ComboBox oGet11 Var nTpag Items ArrTranspose(aTpagos)[2] SIZE 95,150 PIXEL OF oDlg99       FONT oFont994;
                         ON CHANGE (Tip_Pag1:=ArrTranspose(aTpagos)[1][oGet11:nAt])

 

Re: Problema Con ComboBox URGENTE

Posted: Sat Oct 05, 2019 10:40 am
by remtec
Amigos

Alguna sugerencia ?

Saludos

Antonio

Re: Problema Con ComboBox URGENTE

Posted: Sat Oct 05, 2019 3:03 pm
by leandro
y por que no creas tu propio buscador, creando debajo de un get un dialogo y un xbrowse... te dejo una idea.

Code: Select all

****************************************
*DIBUJAMOS EL DIALOGO PARA LAS BUSQUEDAS
****************************************
METHOD dibujaDialogo(oDlg,oGet) CLASS cBusc
Local vGbus := space(100)
local nTopR, nLeftR, nAltura
local aPoint,nWidth:=0

nTopR     := oGet:nTop       
nLeftR    := oGet:nLeft
nAltura   := oGet:nHeight

aPoint := { nTopR+nAltura, nLeftR }
aPoint = ClientToScreen( oDlg:hWnd, aPoint )

Define Font oFont Name "Calibri" Size 0,-12 Bold
Define Font oFont1 Name "Calibri" Size 0,-13
DEFINE DIALOG oDlgBar RESOURCE "ORFACT3" OF oDlg

    REDEFINE GET oGbus VAR vGbus ID 4002 OF oDlgBar UPDATE VALID (::hacefiltro(cBrw,vGbus),.T.)

    cBrw := TXBrowse():New( oDlgBar )
    cBrw:nMarqueeStyle         := MARQSTYLE_HIGHLROW
    cBrw:nRowDividerStyle      := LINESTYLE_LIGHTGRAY
    cBrw:nColDividerStyle      := LINESTYLE_LIGHTGRAY
    cBrw:nHeaderLines          := 1
    cBrw:lColDividerComplete   := .t.
    cBrw:lRecordSelector       := .t.
    cBrw:nStretchCol           := STRETCHCOL_LAST
    cBrw:l2007                 := .f.
    cBrw:oFont                 := oFont1
    cBrw:bKeyDown              := {|nKey|iif(nKey == 13,oDlgBar:end(),)}
    cBrw:blDblClick            := {|| oDlgBar:end()}
    
    oCol          = cBrw:AddCol()
    oCol:bStrData = { || If( ::oRsBar:Eof, Space( nWidth ), ::oRsBar:Fields( ::hCampos["codigo"] ):Value ) }
    oCol:cHeader  = ::hCabecera["codigo"]
    oCol:nWidth   = 90
    oCol:nHeadStrAlign = AL_LEFT
    oCol:nDataStrAlign = AL_LEFT    
    oCol:oHeaderFont = oFont
    oCol:bLClickHeader := {|r,c,f,o| ::organiza(::hCampos["codigo"]) }

    oCol          = cBrw:AddCol()
    oCol:bStrData = { || If( ::oRsBar:Eof, Space( nWidth ), alltrim( ::oRsBar:Fields( ::hCampos["nombre"] ):Value ) ) }
    oCol:cHeader  = ::hCabecera["nombre"]
    oCol:nWidth   = 250
    oCol:nHeadStrAlign = AL_LEFT
    oCol:nDataStrAlign = AL_LEFT    
    oCol:oHeaderFont = oFont    
    oCol:bLClickHeader := {|r,c,f,o| ::organiza(::hCampos["nombre"]) }

    cBrw:SetADO( ::oRsBar )
    cBrw:CreateFromResource( 102 )

    oDlgBar:cTitle := "Buscar Artículo"
    oDlgBar:bPostEnd := { || ::oRsBar:Close() }
    oDlgBar:nOpacity    := 240
    oDlgBar:bStart := { || SetCapture( oDlgBar:hWnd ) }

ACTIVATE DIALOG oDlgBar ON INIT (oDlgBar:SetPos( aPoint[ 1 ], aPoint[ 2 ] ) )
//AL CERRAR EL DIALOGO HACEMOS EL RETORNO DE LA INFORMACION
::retorna()
return nil
 

Re: Problema Con ComboBox URGENTE

Posted: Sat Oct 05, 2019 9:24 pm
by remtec
Hola Leandro

Muchas gracias por tu sugerencia.

Pensé q podía ser más simple y no hacer un cambio así.

Muchos Saludos

Antonio