lGetBar

Re: lGetBar

Postby Marcelo Roggeri » Wed Jan 30, 2019 9:33 pm

Tengo este problema, espero que alguien pueda decirme si se puede hacer y si es posible como es.
Image

Code: Select all  Expand view  RUN

       ::BuscarRubro(::oBrw:aCols[5]:uBarGetVal)

       cQry := "SELECT lispre.id_marca, marcas.nombre AS nombreMarca "
       cQry += "FROM lispre "
       cQry += "LEFT JOIN marcas on lispre.id_marca=marcas.id_marca "
       cQry += "WHERE lispre.id_rubro=" + ClipValue2SQL(::nIdRubro) + " "
       cQry += "GROUP BY lispre.id_marca"
       DEFINE QUERY oQry cQry
       ::aMarca := oQry:FillArray(,{"nombremarca"})
       oQry:End()
xbrowse(::aMarca)

       ::oBrw:aCols[3]:uBarGetVal  := Space(20)
       ::oBrw:aCols[3]:aBarGetList := ::aMarca
       ::oBrw:aCols[3]:oBarGet:Refresh()

       ::oBrw:Refresh()
 


Ese es el metodo que actualiza el contenido del array marca, pero no me lo refresca.
Tal vez quiera hacer algo que no se puede.
Saludos
FWH - Harbour - BCC7 - PellesC
User avatar
Marcelo Roggeri
 
Posts: 342
Joined: Sat Jul 22, 2006 9:04 pm
Location: Venado Tuerto - Santa Fe -Argentina

Re: lGetBar

Postby Marcelo Roggeri » Wed Jan 30, 2019 9:42 pm

En hora buena Jose Luis, si en algo puedo aportar no dudes en hacerlo saber.
Saludos
Marcelo
FWH - Harbour - BCC7 - PellesC
User avatar
Marcelo Roggeri
 
Posts: 342
Joined: Sat Jul 22, 2006 9:04 pm
Location: Venado Tuerto - Santa Fe -Argentina

Re: lGetBar

Postby Marcelo Roggeri » Wed Jan 30, 2019 10:06 pm

Bueno me contesto lo que pregunte porque recien logre hacerlo andar, gracias a Ariel.

::oBrw:aCols[3]:oBarGet:SetItems(::aMarca)

Saludos
Marcelo
FWH - Harbour - BCC7 - PellesC
User avatar
Marcelo Roggeri
 
Posts: 342
Joined: Sat Jul 22, 2006 9:04 pm
Location: Venado Tuerto - Santa Fe -Argentina

Re: lGetBar

Postby nageswaragunupudi » Thu Jan 31, 2019 4:40 am

Now it looks to me that all issues are resolved.
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10646
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: lGetBar

Postby Marcelo Roggeri » Thu Jan 31, 2019 11:06 am

Si Mr. Rao muchas gracias
FWH - Harbour - BCC7 - PellesC
User avatar
Marcelo Roggeri
 
Posts: 342
Joined: Sat Jul 22, 2006 9:04 pm
Location: Venado Tuerto - Santa Fe -Argentina

Re: lGetBar

Postby Marcelo Roggeri » Mon Feb 04, 2019 1:01 pm

Hola buenos días al foro, siguiendo el hilo se me presento una situación con 3 combos de filtro dentro del xBrowse
Lo que necesito saber es que combo hice click y seleccione una opción

Code: Select all  Expand view  RUN
               
                ::oBrw:aCols[3]:uBarGetVal    := Space(20)
                ::oBrw:aCols[3]:aBarGetList   := ::aMarca
                ::oBrw:aCols[3]:bBarGetChange := {|| ::validoMarca() }

                ::oBrw:aCols[5]:uBarGetVal    := Space(30)
                ::oBrw:aCols[5]:aBarGetList   := ::aRubro
                ::oBrw:aCols[5]:bBarGetChange := {|| ::validoRubro() }

                ::oBrw:aCols[6]:uBarGetVal    := Space(25)
                ::oBrw:aCols[6]:aBarGetList   := ::aLinea
                ::oBrw:aCols[6]:bBarGetChange := {|| ::validoLinea()  }
 


De acuerdo a la columna que pertenezca el combo seleccionado solo debo validar en ese solo combo, entones sabiendo en que columna es lo puedo controla sino se me queda en un ciclo infinito y se me sale del sistema.
Espero haberme explicado, Gracias de antemano.
Saludos
Marcelo
FWH - Harbour - BCC7 - PellesC
User avatar
Marcelo Roggeri
 
Posts: 342
Joined: Sat Jul 22, 2006 9:04 pm
Location: Venado Tuerto - Santa Fe -Argentina

Re: lGetBar

Postby Marcelo Roggeri » Thu Mar 28, 2019 2:30 am

Hola buenas noches, siguiendo el hilo, quisiera saber si hubo algun cambio en la forma de llamar un combo en la barra de busqueda de un browse ya que no me aparecen los items del combo

Code: Select all  Expand view  RUN
::oBrw:lGetBar   := .t.
::oBrw:aCols[5]:uBarGetVal    := Space(30)
::oBrw:aCols[5]:aBarGetList   := ::aRubro
 
FWH - Harbour - BCC7 - PellesC
User avatar
Marcelo Roggeri
 
Posts: 342
Joined: Sat Jul 22, 2006 9:04 pm
Location: Venado Tuerto - Santa Fe -Argentina

Re: lGetBar

Postby nageswaragunupudi » Thu Mar 28, 2019 4:59 am

Marcelo Roggeri wrote:Hola buenas noches, siguiendo el hilo, quisiera saber si hubo algun cambio en la forma de llamar un combo en la barra de busqueda de un browse ya que no me aparecen los items del combo

Code: Select all  Expand view  RUN
::oBrw:lGetBar   := .t.
::oBrw:aCols[5]:uBarGetVal    := Space(30)
::oBrw:aCols[5]:aBarGetList   := ::aRubro
 

This is correct.
Please make sure that ::aRubro really contains an array before the assignment is made.
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10646
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: lGetBar

Postby Marcelo Roggeri » Thu Mar 28, 2019 11:27 am

Hola buenos dias, Mr Rao si es lo primero que hice asegurarme de que el arrary tenga data, y efectivamente lo tiene.
Como no vi nada extraño es por eso que envie mi consulta.
Adjunto imagen del array de rubros
Image
FWH - Harbour - BCC7 - PellesC
User avatar
Marcelo Roggeri
 
Posts: 342
Joined: Sat Jul 22, 2006 9:04 pm
Location: Venado Tuerto - Santa Fe -Argentina

Re: lGetBar

Postby Marc Venken » Thu Mar 28, 2019 1:53 pm

Maybe you think it is empty because your first item in the array is empty and so the combo shows the first empty field.
Is it also empty when you hit the arrow ?
Marc Venken
Using: FWH 23.04 with Harbour
User avatar
Marc Venken
 
Posts: 1439
Joined: Tue Jun 14, 2016 7:51 am
Location: Belgium

Re: lGetBar

Postby Marcelo Roggeri » Thu Mar 28, 2019 1:59 pm

Buen razonamiento, pero antes funcionaba y le puse un elemento en blanco porque al inicio no tiene ningun filtro por defecto.
Se entiende?
Gracias por responder
Saludos
Marcelo
FWH - Harbour - BCC7 - PellesC
User avatar
Marcelo Roggeri
 
Posts: 342
Joined: Sat Jul 22, 2006 9:04 pm
Location: Venado Tuerto - Santa Fe -Argentina

Re: lGetBar

Postby nageswaragunupudi » Fri Mar 29, 2019 5:16 pm

I mean, ::aRubro is assigned with the array before executing the statement
Code: Select all  Expand view  RUN

::oBrw:aCols[5]:aBarGetList   := ::aRubro
 

not after.

For the purpose of testing, please try
Code: Select all  Expand view  RUN

::oBrw:aCols[5]:aBarGetList   := { "one", "two", "three" }
 
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10646
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: lGetBar

Postby Marcelo Roggeri » Fri Mar 29, 2019 10:40 pm

Hola Mr. Rao
probe eso que me sugieres, y todo igual solo veo el combo y no se abre
Saludos
FWH - Harbour - BCC7 - PellesC
User avatar
Marcelo Roggeri
 
Posts: 342
Joined: Sat Jul 22, 2006 9:04 pm
Location: Venado Tuerto - Santa Fe -Argentina

Re: lGetBar

Postby nageswaragunupudi » Sat Mar 30, 2019 2:14 am

This test code is working correctly
Code: Select all  Expand view  RUN
  XBROWSER "STATES.DBF" SETUP ( ;
      oBrw:lGetBar := .t., ;
      oBrw:Name:uBarGetVal := Space( 20 ), ;
      oBrw:Name:aBarGetList := { "   ", "One", "Two", "Three" } ;
      )
 


Image

Please check for any differences with your code.
Regards

G. N. Rao.
Hyderabad, India
User avatar
nageswaragunupudi
 
Posts: 10646
Joined: Sun Nov 19, 2006 5:22 am
Location: India

Re: lGetBar

Postby Marcelo Roggeri » Sat Mar 30, 2019 2:11 pm

Bueno días, el ejemplo tuyo lo compile y anda.
A continuación comparto el código a lo mejor logran ver mi error
Code: Select all  Expand view  RUN
               *-----------------------------------------------------------
                @ 0,0 XBROWSE ::oBrw OF hLays["H3"]:aVLayout[1]
                *-----------------------------------------------------------
                oCol := ::oBrw:AddCol()//1
                   oCol:bStrData      := {|| ::oQry:id_articulo }
                   oCol:nDataStrAlign := AL_RIGHT
                   oCol:nWidth        := 130
                   oCol:cHeader       := "ID"
                   oCol:nHeadStrAlign := AL_CENTER
                   oCol:lHide         := .T.
                *-----------------------------------------------------------
                oCol := ::oBrw:AddCol()//2
                   oCol:bStrData      := {|| ::oQry:codigo_articulo }
                   oCol:nDataStrAlign := AL_LEFT
                   oCol:nWidth        := 220
                   oCol:cHeader       := "Código"
                   oCol:nHeadStrAlign := AL_LEFT
                   oCol:Cargo         := "articulos.codigo_articulo"
                *-----------------------------------------------------------
                oCol := ::oBrw:AddCol()//3
                   oCol:bStrData      := {|| ::oQry:nombreMarca }
                   oCol:nDataStrAlign := AL_LEFT
                   oCol:nWidth        := 250
                   oCol:cHeader       := "Marca"
                   oCol:nHeadStrAlign := AL_LEFT
                   oCol:Cargo         := "articulos.id_marca"
                *-----------------------------------------------------------
                oCol := ::oBrw:AddCol()//4
                   oCol:bStrData      := {|| ::oQry:descripcion }
                   oCol:nDataStrAlign := AL_LEFT
                   oCol:nWidth        := 400
                   oCol:cHeader       := "Descripción Artículo"
                   oCol:nHeadStrAlign := AL_LEFT
                   oCol:Cargo         := "articulos.descripcion"
                *-----------------------------------------------------------
                oCol := ::oBrw:AddCol()//5
                   oCol:bStrData      := {|| ::oQry:nombreRubro }
                   oCol:nDataStrAlign := AL_LEFT
                   oCol:nWidth        := 251
                   oCol:cHeader       := "Rubro"
                   oCol:nHeadStrAlign := AL_LEFT
                   oCol:Cargo         := "articulos.id_rubro"
                *-----------------------------------------------------------
                oCol := ::oBrw:AddCol()//6
                   oCol:bStrData      := {|| ::oQry:nombreLinea }
                   oCol:nDataStrAlign := AL_LEFT
                   oCol:nWidth        := 252
                   oCol:cHeader       := "Linea"
                   oCol:nHeadStrAlign := AL_LEFT
                   oCol:Cargo         := "articulos.id_linea"
                *-----------------------------------------------------------
                oCol := ::oBrw:AddCol()//7
                   oCol:bStrData      := {|| ::oQry:porcentaje_iva }
                   oCol:nDataStrAlign := AL_RIGHT
                   oCol:nWidth        := 100
                   oCol:cHeader       := "Iva"
                   oCol:nHeadStrAlign := AL_CENTER
                   oCol:lHide         := .T.
                *-----------------------------------------------------------
                oCol := ::oBrw:AddCol()//8
                   oCol:bStrData      := {|| ::oQry:precio_publico_sugerido }
                   oCol:nDataStrAlign := AL_RIGHT
                   oCol:nWidth        := 150
                   oCol:cHeader       := "Pre. Público"
                   oCol:nHeadStrAlign := AL_CENTER
                *-----------------------------------------------------------
                AEval( ::oBrw:aCols, {| o | o:oDataFont   := oSistema:oFntBrw } )
                AEval( ::oBrw:aCols, {| o | o:oHeaderFont := oSistema:oFntCab } )

                //::oBrw:oRecSelFont      := oFont // Valor predeterminado en oBrw: oFont
                ::oBrw:nRecSelHeadBmpNo := "Counter"
                ::oBrw:bRecSelData      := { || ::oQry:nRecNo }
                ::oBrw:bRecSelHeader    := { |brw| "Nr." }
                ::oBrw:bRecSelFooter    := { |brw| brw:nLen }
                ::oBrw:nRecSelWidth     := 60
                ::oBrw:nRecSelColor     := 16762251
                *-----------------------------------------------------------

                ::oBrw:nHeaderHeight       := 40    // Altura cabeceras de columna

                ::oBrw:nMarqueeStyle       := MARQSTYLE_HIGHLROW // Estilo marquesina (fila seleccionada) 0 No 1 Marquesina punteada celular 2 Solid celular 3 Resalte la celda 4 fila resaltada y Levante teléfono 5
                ::oBrw:nRowDividerStyle    := LINESTYLE_LIGHTGRAY
                ::oBrw:nColDividerStyle    := LINESTYLE_LIGHTGRAY
                ::oBrw:bClrSel             := {||{nRGB(255,255,255),nRGB(000,128,255)}}// para barra de linea selecc cuando el control no tiene el foco

                ::oBrw:nStretchCol         := STRETCHCOL_WIDEST

                ::oBrw:l2007               := (.F.)
                ::oBrw:lAllowColHiding     := .F. // Anulo el menu contextual al hacer click sobre el Header del browse
                ::oBrw:nRowHeight          := 40
                ::oBrw:bClrStd             := { || { CLR_BLACK, If(::oBrw:KeyNo % 2 == 0, RGB(193,221,255), RGB(221,245,255) ) } } // colores para lineas normales

                ::oBrw:lHScroll            := .T.
                ::oBrw:lVScroll            := .T.
                ::oBrw:lColDividerComplete := .T. //completa pintado hasta el footer cuando lineas no llenan todo el browse
                ::oBrw:lFastEdit           := .F.

                ::oBrw:lFooter              := .T.
                ::oBrw:nFooterLines         := 1    //Lineas del footer
                ::oBrw:nFooterHeight        := 40   //Altura del  Footer
                ::oBrw:bClrFooter           := {|| { nRGB(255,255,255), 16762251 } }

                ::oBrw:SetColor( CLR_BLACK, RGB(193,221,255) )

                *-----------------------------------------------------------
                // BARRA DE BUSQUEDA
                ::oBrw:lGetBar       := .T.
                ::oBrw:nGetBarHeight := 33

                ::oBrw:aCols[2]:uBarGetVal    := Space(15)

                ::oBrw:aCols[2]:cBarGetBmp    := "BB_SEARCH(30x30)"
                ::oBrw:aCols[2]:bBarGetAction := {|| ::SetFilterRegistro() }
                ::oBrw:aCols[2]:bBarGetValid  := {|x| ::SetFilterRegistro(), .T.}


                ::oBrw:aCols[3]:uBarGetVal    := Space(20)
                ::oBrw:aCols[3]:aBarGetList   := ::aMarca
                //::oBrw:aCols[3]:bBarGetChange := {|| ( ::validoMarca() ) }
                //::oBrw:aCols[3]:bBarGetChange := {|| msginfo(::oBrw:aCols[ nPos ]) }


                //::oBrw:aCols[4]:lBarGetOnKey  := .T.
                ::oBrw:aCols[4]:uBarGetVal    := Space(40)
                ::oBrw:aCols[4]:cBarGetBmp    := "BB_SEARCH(30x30)"
                ::oBrw:aCols[4]:bBarGetAction := {|| ::SetFilterRegistro() } //::oBrw:aCols[4]:cBarGetPic   := "@!"   // MASCARA
                ::oBrw:aCols[4]:bBarGetValid  := {|x| ::SetFilterRegistro(), .T.}

                ::oBrw:aCols[5]:uBarGetVal    := Space(30)
                ::oBrw:aCols[5]:aBarGetList   := ::aRubro
                ::oBrw:aCols[5]:bBarGetChange := {|| ::validoRubro() }
                //::oBrw:aCols[5]:aBarGetList   := { "one", "two", "three" }

                ::oBrw:aCols[6]:uBarGetVal    := Space(25)
                ::oBrw:aCols[6]:aBarGetList   := ::aLinea
                //::oBrw:aCols[6]:bBarGetChange := {|| ::validoLinea()  }
                //::oBrw:aCols[6]:bBarGetChange := {|| msginfo(::oBrw:aCols[ ::oBrw:nColSel ]:nWidth) }


                ::oBrw:bClrEdits := { || { CLR_BLACK,rgb(255,250,240) } }

                /*
                oCol:aBarGetList:   If you assign an array combobox will be displayed
                oCol:bBarGetValid:  You can take action when the user completes the entry
                oCol:cBarGetBmp:    bmp file name to show button on the get
                oCol:bBarGetAction: Button action
                oCol:bBarGetChange: as it means
                */


                // BARRA DE BUSQUEDA
                *-----------------------------------------------------------

                ::oBrw:SetDolphin( ::oQry,.F.,.T.)
                ::oBrw:CreateFromCode()

                ::oBrw:MakeTotals()
                ::oBrw:Refreshfooters()
                ::oBrw:Refresh()

                hLays["H3"]:aVLayout[1]:oClient := ::oBrw
 

Saludos y gracias
FWH - Harbour - BCC7 - PellesC
User avatar
Marcelo Roggeri
 
Posts: 342
Joined: Sat Jul 22, 2006 9:04 pm
Location: Venado Tuerto - Santa Fe -Argentina

PreviousNext

Return to FiveWin for Harbour/xHarbour

Who is online

Users browsing this forum: No registered users and 43 guests