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:
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:
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