Tengo este codigo
- Code: Select all Expand view RUN
- cAlias:= aAlias[24]
@ 30, 0 XBROWSE oLbx OF oDlg;
AUTOCOLS ALIAS cAlias UPDATE AUTOSORT LINES ;
COLUMNS "Estado","Albaran","Fecha","Pro","Pobla","CR","Prou","Pobla1","Baseimpo","kkilos","kilos","Factura","Codart","Tipo","Orden","nConductor","n_reexp","Spro","Graba","Operador";
HEADERS "F"," Numero ", " Fecha ", " Cliente ", "Pobla", "T","Origen/Destino", "Pobla", " Importe ", " Bult. ", " Kilos "," Factura "," Tarifa ","Tipo","Orden"," Conductor " ,"Reexpedido","SPro","Fhora"," Operador ";
ON LEFT DBLCLICK (iif(!(aAlias[24])->(eof()) .and. Publicas:cAccesoM,(cTitulo:="Visualización de Albaranes ",Entalba1(cTitulo,"V",,aAlias),oLbx:Refresh()),.T.))
for n := 1 to Len( oLbx:aCols )
if oLbx:aCols[ n ]:cDataType == 'M'
oLbx:aCols[ n ]:bStrData = GenLocalBlock( oLbx:aCols, n )
endif
next
WITH OBJECT oLbx
:lRecordSelector := .F. // poner o no, columna de la flechita de la izquierda
:nColDividerStyle := LINESTYLE_INSET
:nRowDividerStyle := LINESTYLE_INSET
:SetFocus()
:SetChecks()
:nColDividerStyle := LINESTYLE_LIGHTGRAY //BLACK
:lColDividerComplete := .t.
:bClrStd:= { || { CLR_BLACK, If( oLbx:KeyNo % 2 == 0, nRGB(242,247,252),nRGB(226,226,208) ) } }
:nMarqueeStyle := MARQSTYLE_HIGHLROW // Con cursor de todo el renglón
:aCols[ 1 ]:nEditType := TYPE_IMAGE
:aCols[1]:AddResource("BMPENABLE")
:aCols[1]:AddResource("BMPDISABLE")
:aCols[1]:bBmpData := {|| Iif((cAlias)->Estado == 1 , 1 ,2 ) }
:aCols[1]:lBmpStretch := .t.
:aCols[1]:lBmpTransparent := .T.
:aCols[1]:nDataBmpAlign := AL_LEFT
END
oDlg:oClient = oLbx
oDlg:oControl = oLbx
oLbx:CreateFromCode()
Y mi problema viene de que en la condición que doy en lBmpData, siempre me pone el Bmp numero 2, ya sea cuando (cAlias)->Estado tenga como valor 1 o cuando tenga como valor 2, siempre me pone el Bmp numero 2
Que puedo estar haciendo mal?
compilo para xharbour
Fwh Noviembre de 2015
Un saludo