Tengo un Problema con el PICTURE del Totalizador de Xbrowse.
Aun cuento uso :cFooterPicture := "9,999,999", para que me separe los miles, el resultado se escribe como Ejemplo 1520.0 cuando debiera mostrar 1,520.
Lo extraño es que si salgo del xbrowse y vuelvo a ingresar con un dato en el Array, ahora si muestra con el PICTURE correcto, de lo contrario puedo seguir agregando filas al Array y se mantiene el formato 1520.0.
Le he dado muchas vueltas a este problema y no logro dar con la solucion.
Desde ya muchas gracias
Saludos
Antonio.
Dejo parte del código:
Code: Select all
REDEFINE XBROWSE oBrw2 ID 4005 OF oDlg33 DATASOURCE aCodigos FONT oFont2;
HEADERS 'Codigo','Nombre del Examen','Canti','Precio','Total';
COLUMNS 1, 2,3,4,5;
COLSIZES 70, 280, 50, 65, 80;
PICTURES '@!','@!','9999','9,999,999','9,999,999';
CELL LINES AUTOSORT NOBORDER;
oBrw2:nMarqueeStyle := MARQSTYLE_HIGHLROW
oBrw2:nColDividerStyle := LINESTYLE_RAISED
oBrw2:nRowDividerStyle := LINESTYLE_RAISED
oBrw2:nFooterLines:=1
oBrw2:bClrHeader := {|| { nRGB(000,000,000), nRGB(128,255,128) } }
oBrw2:bClrStd := { || If( Eval( oBrw2:bKeyNo,,oBrw2) % 2 == 0, { CLR_BLACK, RGB( 198, 255, 198 ) },;
{ CLR_BLACK, RGB( 232, 255, 232 ) } ) } // Efecto Cebra
oBrw2:nOpacity := 230
oBrw2:nHeaderHeight := 35
oBrw2:nFreeze := 2
oBrw2:aCols[ 1 ]:oDataFont := oFont7
oBrw2:aCols[2]:cFooter := "TOTAL -->"
oBrw2:aCols[2]:nFootStrAlign := AL_RIGHT
oBrw2:lAutoSort := .t.
oBrw2:lFooter := .T.
oBrw2:lHScroll := .f.
oBrw2:SetStyle( 2007)
oBrw2:nColorPen := CLR_RED
oBrw2:bChange := {|| oBrw2:Refresh() }
oBrw2:aCols[03]:cEditPicture := "999"
oBrw2:aCols[03]:nFooterType := AGGR_SUM
oBrw2:aCols[01]:bFooter := { || Ltrim( Str( oBrw2:KeyNo() ) ) + " / " + LTrim( Str( oBrw2:KeyCount() ) ) }
oBrw2:aCols[05]:cFooterPicture := "9,999,999" // <--- Este formato no lo considera, cuando arreglo ingresa sin datos
oBrw2:aCols[05]:nFooterType := AGGR_TOTAL
oBrw2:bChange := {|| oBrw2:Maketotals() }
oBrw2:MakeTotals()
WITH OBJECT oBrw2:aCols[3] // <----- Modifico Columna Cantidad
:cEditPicture := "9,999,999"
:nEditType := EDIT_GET
:bEditValid := { |oGet| oGet:VarGet() > 0 }
:bOnPostEdit := { | oCol, xVal, nKey | If( nKey == VK_RETURN ,;
( oCol:value := xVal ,;
totalinea( oBrw2,@Can_Cod1,@Val_Tot1), oBrw2:MakeTotals(), oBrw2:Refresh()), ) }
END WITH