lGetBar

User avatar
Marcelo Roggeri
Posts: 275
Joined: Sat Jul 22, 2006 9:04 pm
Location: Venado Tuerto - Santa Fe -Argentina
Contact:

Re: lGetBar

Post by Marcelo Roggeri »

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

Code: Select all

       ::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 - FivEdit (Cristobal Navarro)
User avatar
Marcelo Roggeri
Posts: 275
Joined: Sat Jul 22, 2006 9:04 pm
Location: Venado Tuerto - Santa Fe -Argentina
Contact:

Re: lGetBar

Post by Marcelo Roggeri »

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

Re: lGetBar

Post by Marcelo Roggeri »

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 - FivEdit (Cristobal Navarro)
User avatar
nageswaragunupudi
Posts: 8017
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: lGetBar

Post by nageswaragunupudi »

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

G. N. Rao.
Hyderabad, India
User avatar
Marcelo Roggeri
Posts: 275
Joined: Sat Jul 22, 2006 9:04 pm
Location: Venado Tuerto - Santa Fe -Argentina
Contact:

Re: lGetBar

Post by Marcelo Roggeri »

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

Re: lGetBar

Post by Marcelo Roggeri »

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

                
                ::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 - FivEdit (Cristobal Navarro)
User avatar
Marcelo Roggeri
Posts: 275
Joined: Sat Jul 22, 2006 9:04 pm
Location: Venado Tuerto - Santa Fe -Argentina
Contact:

Re: lGetBar

Post by Marcelo Roggeri »

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

::oBrw:lGetBar   := .t.
::oBrw:aCols[5]:uBarGetVal    := Space(30)
::oBrw:aCols[5]:aBarGetList   := ::aRubro
 
FWH - Harbour - BCC7 - PellesC - FivEdit (Cristobal Navarro)
User avatar
nageswaragunupudi
Posts: 8017
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: lGetBar

Post by nageswaragunupudi »

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

::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
Marcelo Roggeri
Posts: 275
Joined: Sat Jul 22, 2006 9:04 pm
Location: Venado Tuerto - Santa Fe -Argentina
Contact:

Re: lGetBar

Post by Marcelo Roggeri »

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 - FivEdit (Cristobal Navarro)
User avatar
Marc Venken
Posts: 727
Joined: Tue Jun 14, 2016 7:51 am

Re: lGetBar

Post by Marc Venken »

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 20.08 with Harbour
User avatar
Marcelo Roggeri
Posts: 275
Joined: Sat Jul 22, 2006 9:04 pm
Location: Venado Tuerto - Santa Fe -Argentina
Contact:

Re: lGetBar

Post by Marcelo Roggeri »

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 - FivEdit (Cristobal Navarro)
User avatar
nageswaragunupudi
Posts: 8017
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: lGetBar

Post by nageswaragunupudi »

I mean, ::aRubro is assigned with the array before executing the statement

Code: Select all

::oBrw:aCols[5]:aBarGetList   := ::aRubro
 
not after.

For the purpose of testing, please try

Code: Select all

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

G. N. Rao.
Hyderabad, India
User avatar
Marcelo Roggeri
Posts: 275
Joined: Sat Jul 22, 2006 9:04 pm
Location: Venado Tuerto - Santa Fe -Argentina
Contact:

Re: lGetBar

Post by Marcelo Roggeri »

Hola Mr. Rao
probe eso que me sugieres, y todo igual solo veo el combo y no se abre
Saludos
FWH - Harbour - BCC7 - PellesC - FivEdit (Cristobal Navarro)
User avatar
nageswaragunupudi
Posts: 8017
Joined: Sun Nov 19, 2006 5:22 am
Location: India
Contact:

Re: lGetBar

Post by nageswaragunupudi »

This test code is working correctly

Code: Select all

   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
Marcelo Roggeri
Posts: 275
Joined: Sat Jul 22, 2006 9:04 pm
Location: Venado Tuerto - Santa Fe -Argentina
Contact:

Re: lGetBar

Post by Marcelo Roggeri »

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

                *-----------------------------------------------------------
                @ 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 - FivEdit (Cristobal Navarro)
Post Reply