Hola,
Alguien ha realizado el cambiar el color de un reglón o fila en TbBrowseMod según la condición del valor de un campo.. que me pueda orientar ?
Saludos!
Cambiar color de un reglon o fila de TbBrowseMod
Re: Cambiar color de un reglon o fila de TbBrowseMod
Buenas tardes,
¿Ha probado el evento OnDrawCell? Le adjunto una pequeña captura de la ayuda de Xailer.
Saludos.
¿Ha probado el evento OnDrawCell? Le adjunto una pequeña captura de la ayuda de Xailer.
Saludos.
Re: Cambiar color de un reglon o fila de TbBrowseMod
Buenas tardes Gabo, tienes que usar el evento OnDrawCell (Deberás usar el evento en cada columna deseada del browse)
METHOD CatalogAccDrawCell( oSender, oCol, nIndex, xValue, cValue, nImage, nClrText, nClrPane, nState, hDC, aRect ) CLASS Estados
IF <Tu condicion>
nClrText := clBrown // Poner letra marron
ELSE
nClrText := clBlue // Poner letra azul
ENDIF
Si deseas poner las letras en negritas:
SelectObject( hDC, ::oFont:Handle ) // selecciona font por defecto
IF <Tu condicion>
SelectObject( hDC, ::oFontBold:Handle ) // Poner letras en negrita
ENDIF
METHOD CatalogAccDrawCell( oSender, oCol, nIndex, xValue, cValue, nImage, nClrText, nClrPane, nState, hDC, aRect ) CLASS Estados
IF <Tu condicion>
nClrText := clBrown // Poner letra marron
ELSE
nClrText := clBlue // Poner letra azul
ENDIF
Si deseas poner las letras en negritas:
SelectObject( hDC, ::oFont:Handle ) // selecciona font por defecto
IF <Tu condicion>
SelectObject( hDC, ::oFontBold:Handle ) // Poner letras en negrita
ENDIF
Re: Cambiar color de un reglon o fila de TbBrowseMod
Hola cFuentes
Gracias por la sugerencia. de hecho estoy probando en ese evento precisamente y funciona perfecto,
Peroooo solo sobre las columnas. lo que yo quiero es sobre las filas o reglon. Como lo hace TBrowse..
Saludos!
Gracias por la sugerencia. de hecho estoy probando en ese evento precisamente y funciona perfecto,
Peroooo solo sobre las columnas. lo que yo quiero es sobre las filas o reglon. Como lo hace TBrowse..
Saludos!
Código: Seleccionar todo
//------------------------------------------------------------------------------
METHOD BrwPedidosDrawCell( oSender, oCol, nIndex, xValue, cValue, nImage, nClrText, nClrPane, nState, hDC, aRect ) CLASS TFormDomicilio2021
LOCAL oFont,hFont,cHoras,nSegundos,hPen
hPen := CreatePen( PS_SOLID, 1, 0xDFD9C4 )
MoveTo( hDC, aRect[ rtLEFT ], aRect[ rtBOTTOM ] -1)
LineTo( hDC, aRect[ rtRIGHT ], aRect[ rtBOTTOM] -1, hPen)
DeleteObject( hPen )
nSegundos:= 0
IF oCol:cHeader=="# Sigue"
nClrText:= clBlue
ELSEIF oCol:cHeader=="Folio pedido"
nClrText:= clRed
ELSEIF oCol:cHeader=="No. Teléfono" .OR. oCol:cHeader=="Nombre del cliente"
oFont:= TFont():Create( "Consolas",14,0,550 )
hFont:= SelectObject( hDC, oFont:Handle )
ELSEIF oCol:cHeader=="Tiempo"
oFont:= TFont():Create( "Consolas",10,0,550 )
hFont:= SelectObject( hDC, oFont:Handle )
IF xValue!=NIL
IF !Empty(xValue)
cHoras:= TimeDiff( xValue, Time() )
nSegundos:= TimeAsSeconds(cHoras)
cValue:= Left(cHoras, 5 )
ENDIF
ENDIF
ELSEIF oCol:cHeader=="Sta"
DO CASE
CASE xValue=="Impresa"
cValue:= ""
nImage:= 3
IF nSegundos >= 900
// nImage:= 2
ENDIF
CASE xValue=="NO"
cValue:= ""
nImage:= 1
OTHER
ENDCASE
ENDIF
oFont:= NIL
hFont:= NIL
RETURN NL
Re: Cambiar color de un reglon o fila de TbBrowseMod
Buenas tardes,
¿Ha probado a controlar el parámetro "nIndex" del evento OnDrawCell, que es el número de fila que se va a pintar?
Por ejemplo:
IF nIndex == 5
nClrText := clRed
ENDIF
También tiene a su disposición el evento OnDrawActiveRow.
Saludos
¿Ha probado a controlar el parámetro "nIndex" del evento OnDrawCell, que es el número de fila que se va a pintar?
Por ejemplo:
IF nIndex == 5
nClrText := clRed
ENDIF
También tiene a su disposición el evento OnDrawActiveRow.
Saludos