Posible bug en Xbrowse

Posible bug en Xbrowse

Postby Armando » Tue Jan 08, 2013 3:57 pm

Hola amigos del foro:

Me estoy enfrentando a un problema que tal vez sea un bug en la clase TXBrowse, les cuento para que
veamos de que se trata.

Tengo un Browse con 8 columnas aunque solo muestro 5 y tengo un freeze hasta la columna 4
oBrw:nFreeze := 4, esto se aprecia en la siguiente imágen:

Image

La quinta columna es la columna del precio, existen 4 diferentes precios (Público, Crédito, Medio mayoreo y Mayoreo), de entrada
se muestra el precio Público, para mostrar el resto, el usuario coloca el foco sobre el producto y con la tecla "Flecha a la derecha"
va mostrando el siguiente precio, hasta aquí todo bien, peroooooooo, el problema es que nunca se muestra el cuarto precio solo
se llega a mostrar hasta el tercero, veamos la siguiente imágen:

Image

Como vemos no aparece el precio Mayoreo por más que se oprima la tecla Flecha a la derecha,
les muestro parte de mi código por si sirve de algo


Code: Select all  Expand view

        oBrw:=TxBrowse():New(oDlg)

            oBrw:nMarqueeStyle          := MARQSTYLE_HIGHLROW
            oBrw:nColDividerStyle       := LINESTYLE_LIGHTGRAY
            oBrw:nRowDividerStyle       := LINESTYLE_LIGHTGRAY
            oBrw:lColDividerComplete    := (.F.)
            oBrw:nHeaderHeight          := 25
            oBrw:nRowHeight             := 22
            oBrw:nHeaderLines               := 1
            oBrw:nDataLines             := 1
            oBrw:nFooterHeight          := 20
            oBrw:nFooterLines               := 1
            oBrw:lFooter                    := (.T.)
            oBrw:lHScroll                   := (.F.)
            oBrw:lRecordSelector            := (.F.)
            oBrw:nFreeze                    := 4
            oBrw:bSeek                  := { | cChars | BusDes(cChars) }
            oBrw:oSeek                  := oSay

        aColw[ 1]                           := oBrw:AddCol()
            aColw[ 1]:bStrData              := { || IF(oRsPro:BOF() .AND. oRsPro:EOF(),SPACE(1),oRsPro:Fields("PRO_PRO"):Value)}
            aColw[ 1]:cHeader           := "Código"
            aColw[ 1]:nHeadStrAlign     := AL_LEFT
            aColw[ 1]:nDataStrAlign     := AL_LEFT
            aColw[ 1]:nWidth                := 70

        aColw[ 2]                           := oBrw:AddCol()
            aColw[ 2]:bStrData              := { || IF(oRsPro:BOF() .AND. oRsPro:EOF(),SPACE(1),oRsPro:Fields("PRO_DES"):Value)}
            aColw[ 2]:cHeader           := "Descripción del producto"
            aColw[ 2]:nHeadStrAlign     := AL_LEFT
            aColw[ 2]:nDataStrAlign     := AL_LEFT
            aColw[ 2]:nWidth                := 275
            aColw[ 2]:cOrder                := "A"

           aColw[ 3]                            := oBrw:AddCol()
            aColw[ 3]:bStrData              := { || IF(oRsPro:BOF() .AND. oRsPro:EOF(),SPACE(1),oRsPro:Fields("MAR_DES"):Value)}
            aColw[ 3]:cHeader           := "Marca"
            aColw[ 3]:nHeadStrAlign     := AL_LEFT
            aColw[ 3]:nDataStrAlign     := AL_LEFT
            aColw[ 3]:nWidth                := 125

        aColw[ 4]                           := oBrw:AddCol()
            aColw[ 4]:bStrData              := { || IF(oRsPro:BOF() .AND. oRsPro:EOF(),SPACE(1),TRANSFORM(oRsPro:Fields("PRO_SEU"):Value,"@Z 999,999.999"))}
            aColw[ 4]:cHeader           := "Existencia"
            aColw[ 4]:nHeadStrAlign     := AL_RIGHT
            aColw[ 4]:nDataStrAlign     := AL_RIGHT
            aColw[ 4]:nWidth                := 70

        aColw[ 5]                           := oBrw:AddCol()
            aColw[ 5]:bStrData              := { || IF(oRsPro:BOF() .AND. oRsPro:EOF(),SPACE(1),TRANSFORM(oRsPro:Fields("PRO_PPG"):Value,"@Z 999,999.999"))}
            aColw[ 5]:cHeader           := "Público"
            aColw[ 5]:nHeadStrAlign     := AL_RIGHT
            aColw[ 5]:nDataStrAlign     := AL_RIGHT
            aColw[ 5]:nWidth                := 70

        aColw[ 6]                           := oBrw:AddCol()
            aColw[ 6]:bStrData              := { || IF(oRsPro:BOF() .AND. oRsPro:EOF(),SPACE(1),TRANSFORM(oRsPro:Fields("PRO_PCR"):Value,"@Z 999,999.999"))}
            aColw[ 6]:cHeader           := "Crédito"
            aColw[ 6]:nHeadStrAlign     := AL_RIGHT
            aColw[ 6]:nDataStrAlign     := AL_RIGHT
            aColw[ 6]:nWidth                := 70

        aColw[ 7]                           := oBrw:AddCol()
            aColw[ 7]:bStrData              := { || IF(oRsPro:BOF() .AND. oRsPro:EOF(),SPACE(1),TRANSFORM(oRsPro:Fields("PRO_PMM"):Value,"@Z 999,999.999"))}
            aColw[ 7]:cHeader           := "Medio"
            aColw[ 7]:nHeadStrAlign     := AL_RIGHT
            aColw[ 7]:nDataStrAlign     := AL_RIGHT
            aColw[ 7]:nWidth                := 70

        aColw[ 8]                           := oBrw:AddCol()
            aColw[ 8]:bStrData              := { || IF(oRsPro:BOF() .AND. oRsPro:EOF(),SPACE(1),TRANSFORM(oRsPro:Fields("PRO_PMA"):Value,"@Z 999,999.999"))}
            aColw[ 8]:cHeader           := "Mayoreo"
            aColw[ 8]:nHeadStrAlign     := AL_RIGHT
            aColw[ 8]:nDataStrAlign     := AL_RIGHT
            aColw[ 8]:nWidth                := 70

            oBrw:blDblClick             := { | nRow, nCol, nKey | oWrk:PRO := oRsPro:Fields("PRO_PRO"):Value,;
                                                                                    aGets[19]:SetFocus(),;
                                                                                    oDlg:POSTMSG(WM_KEYDOWN,VK_RETURN,0)}

           oBrw:l2007                       := (.F.)

            oBrw:nStretchCol                := STRETCHCOL_LAST
 


Uso FW810 con xHarbour.

Maestro Antonio, se puede hacer algo?

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
User avatar
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Posible bug en Xbrowse

Postby FranciscoA » Tue Jan 08, 2013 7:48 pm

Hola Armando.
Probablemente se problema en la version que tienes. El siguiente ejemplo trabaja perfectamente en FWH1204
Code: Select all  Expand view
REDEFINE XBROWSE oBrw ID 118 OF oDlg ;
         COLUMNS "Codigo", "Nombre", "Apellido","CedulaIde","1","2" ;
         SIZES 70,170,170,140 ,140,140;
         ALIAS (cAlias) FOOTERS LINES CELL

   WITH OBJECT oBrw
      :nMarqueeStyle    := MARQSTYLE_HIGHLROW  //_HIGHLROWMS
      :nColDividerStyle:=LINESTYLE_LIGHTGRAY
      :nRowDividerStyle:=LINESTYLE_LIGHTGRAY
      :bClrSel       := {|| { nRGB(  0,  0,255), aGradBarSel } }  // para barra de linea selecc cuando el control no tiene el foco
      :bClrSelFocus := { || { CLR_BLACK, aGradBarSelFocus } }     // para barra de linea selecc cuando el control tiene el foco
      :lKinetic      := .f.
      :lContrastClr  := .f.

      :nFreeze                := 3

      :bKeyDown := {|nTecla| iif(nTecla=13, (cCodigo:=CLIENTES->codigo, oDlg:End(), oBrw:Refresh()),)}
      :bLDblClick := {|| cCodigo:=CLIENTES->codigo, oDlg:End() }

      :bGotFocus:= {|| dbSelectArea("Clientes") }

      :Codigo:cSortOrder   := "CLIENTES"
      :nombre:cSortOrder   := "NOMBCLTE"
      :apellido:cSortOrder := "APELCLTE"
      :cedulaide:cSortOrder:= "CEDULIDE"
   END

   REDEFINE SAY oTextBusc PROMPT cTextBusc ID 4003 OF oDlg UPDATE
   oTextBusc:cTooltip:= {"Click sobre cabecera de columna para busqueda respectiva","BUSQUEDA INCREMENTAL          "}

   oBrw:bSeek := {|c| Clientes->( DbSeek(UPPER(c),.t.) ) }
   oBrw:oSeek := oTextBusc
 


Por otro lado, tal vez lo puedas resolver agregando una columna en blanco. Si, lo sé, manera chapucera.
Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

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

Re: Posible bug en Xbrowse

Postby Armando » Tue Jan 08, 2013 8:28 pm

Francisco:

Te agradezco tu respuesta, posiblemente sea la versión, por el momento lo he solucionado
cambiando el tipo de marquesina, aunque me agradaría que fuera a renglón completo.

oBrw:nMarqueeStyle := MARQSTYLE_HIGHLCELL

Por otro lado, voy a probar tu sugerencia y te informo.

Un abrazo
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
User avatar
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Posible bug en Xbrowse

Postby Armando » Tue Jan 08, 2013 9:43 pm

Francisco y amigos:

Pues no, siguiendo tu idea agregue una columna duplicando la última pero no!
simplemente no funciona.

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
User avatar
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Posible bug en Xbrowse

Postby goosfancito » Mon Aug 11, 2014 12:15 pm

hola.
Armando, como ahces apra que el xbrowse te pinte toda la linea y no por celda?
ya intente con
:nMarqueeStyle
del 1 al 7 pero no da.

gracias.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: Posible bug en Xbrowse

Postby carlos vargas » Mon Aug 11, 2014 1:15 pm

puedes cambiar y probar?
Code: Select all  Expand view
oBrw:lHScroll                   := (.T.)

salu2
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1683
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Posible bug en Xbrowse

Postby goosfancito » Mon Aug 11, 2014 1:47 pm

carlos vargas wrote:puedes cambiar y probar?
Code: Select all  Expand view
oBrw:lHScroll                   := (.T.)

salu2


Hola.
Pero eso no es la barra de desplazamiento? yo necesito que aparezca como la figura de arriba cuando comenzo el post, que esta pintad toda de azul.
gracias.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: Posible bug en Xbrowse

Postby AngelSalom » Mon Aug 11, 2014 3:12 pm

Prueba con esto :
Code: Select all  Expand view
oBrw:nMarqueeStyle       := 5
Angel Salom
Visionwin Software - https://www.visionwin.com
------------------------------------------------------------
fwh 19.05 - harbour 3.2 - bcc 7.4
User avatar
AngelSalom
 
Posts: 708
Joined: Fri Oct 07, 2005 7:38 am
Location: Benicarló (Castellón ) - España

Re: Posible bug en Xbrowse

Postby Armando » Mon Aug 11, 2014 3:19 pm

Goos:

Lo uso así

Code: Select all  Expand view

oBrw:nMarqueeStyle          := MARQSTYLE_HIGHLROW
 


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
User avatar
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Posible bug en Xbrowse

Postby goosfancito » Mon Aug 11, 2014 3:26 pm

Armando wrote:Goos:

Lo uso así

Code: Select all  Expand view

oBrw:nMarqueeStyle          := MARQSTYLE_HIGHLROW
 


Saludos


probe eso, pero no me anda, solo pinta la celda.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: Posible bug en Xbrowse

Postby Armando » Mon Aug 11, 2014 4:55 pm

Goos:

Será que tienes ambas definiciones?, muestra el código para echarle un ojo.

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
User avatar
Armando
 
Posts: 3061
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Re: Posible bug en Xbrowse

Postby goosfancito » Mon Aug 11, 2014 5:14 pm

Armando wrote:Goos:

Será que tienes ambas definiciones?, muestra el código para echarle un ojo.

Saludos

Code: Select all  Expand view
  WITH OBJECT ::oBrw

         :bClrStd    := { || If( ::oBrw:KeyNo() % 2 == 0, ;
                   { CLR_BLACK, RGB( 255, 255, 255 ) }, ;
                   { CLR_BLACK, RGB( 214, 255, 215 ) } ) }

         :bClrRowFocus     := { || { CLR_BLACK, CLR_WHITE} }

         :nMarqueeStyle   := 5
         :nRowHeight      := 23
         :nheaderHeight      := 20
         :lRecordSelector := .F.
         :lColDividerComplete := .F.
         :nRowDividerStyle:= 4
         :nStretchCol := STRETCHCOL_LAST
         :nColDividerStyle:=  4

         WITH object :aCols[1]
            :odatafont:= oFont
            :cHeader:= "Id"
            :nHeadStrAlign:= AL_CENTER
            :oheaderfont:= oFont
            :oheaderfont:= oFont
         END with
 
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: Posible bug en Xbrowse

Postby carlos vargas » Mon Aug 11, 2014 5:29 pm

lHScroll := .t.

permite mostrar la barra de desplazamiento horizontal, asi mismo permite que el usuario pueda desplazarse hacia los lados.
es tambien necesario, agreagr al style del custom control en el recurso la definicion WS_HSCROLL para qeu funcione correctamente.

salu2
carlos vargas
Salu2
Carlos Vargas
Desde Managua, Nicaragua (CA)
User avatar
carlos vargas
 
Posts: 1683
Joined: Tue Oct 11, 2005 5:01 pm
Location: Nicaragua

Re: Posible bug en Xbrowse

Postby goosfancito » Mon Aug 11, 2014 9:48 pm

carlos vargas wrote:lHScroll := .t.

permite mostrar la barra de desplazamiento horizontal, asi mismo permite que el usuario pueda desplazarse hacia los lados.
es tambien necesario, agreagr al style del custom control en el recurso la definicion WS_HSCROLL para qeu funcione correctamente.

salu2
carlos vargas


Carlos,
Perdon que incista, pero no entiendo si me estas contestando a mi. No tengo problemas con el Scroll. Necesito que toda la fila de un xbrowse sea pintada cuando me posiciono en uno y no como me hace ahora que solo me pinta una celda.

gracias.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
goosfancito
 
Posts: 1954
Joined: Fri Oct 07, 2005 7:08 pm

Re: Posible bug en Xbrowse

Postby joseluisysturiz » Tue Aug 12, 2014 2:06 am

Goosfabdito, lo que sugirio Carlos es para el colega que abrio el tema, para ti te recomiendo que coloques de primero el

:nMarqueeStyle := 5 o con
:nMarqueeStyle := MARQSTYLE_HIGHLROW

y luego las demas definiciones, pareciera eso tiene algo que ver y coloca el

:bClrStd := {||

de ultimo, saludos... :shock:
Dios no está muerto...

Gracias a mi Dios ante todo!
User avatar
joseluisysturiz
 
Posts: 2064
Joined: Fri Jan 06, 2006 9:28 pm
Location: Guatire - Caracas - Venezuela

Next

Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 83 guests