Hola, buenas noches para mi.
Tengo una dbf de artículos con el precio actual y precios de 4 proveedores distintos mas un campo por cada uno que me establece el porcentaje de diferencia con el precio actual.
necesito cambiar EN CADA REGISTRO el color de la celda del valor mas bajo de los precios de los 4 proveedores ya sea el color de fondo o el del importe.
si alguien ya encaro un tema así le agradecería me oriente como hacerlo.
Gracias.
José Camilo
Cambiar Color a una CELDA en Xbrowse por cada registro
-
- Posts: 212
- Joined: Wed Apr 07, 2021 3:56 pm
- leandro
- Posts: 1744
- Joined: Wed Oct 26, 2005 2:49 pm
- Location: Colombia
- Has thanked: 34 times
- Been thanked: 10 times
- Contact:
Re: Cambiar Color a una CELDA en Xbrowse por cada registro
Hola como vas?
Se me ocurre que recorras toda la dbf antes de mostrarla, identificas los registros que necesitas cambiar de color y los marcas. mediante una función defines los colores y luego si abres el xbrowse.
Se me ocurre que recorras toda la dbf antes de mostrarla, identificas los registros que necesitas cambiar de color y los marcas. mediante una función defines los colores y luego si abres el xbrowse.
Code: Select all | Expand
....
oCol:bClrStd = {|| {_CLR_GRIS,colorEstado( oDbf->campoestado ) } }
...
****************************
*CAMBIA EL COLOR DE LA CELDA
****************************
Function colorEstado(valor)
IF valor=="A"
Return nRGB(139,139,139) //gris oscuro
ELSEIF valor=="D"
Return nRGB(0,210,0) //verde oscuro
ELSEIF valor=="E"
Return nRGB(255,117,117) //rojo oscuro
ELSEIF valor=="V"
Return nRGB(255,117,117) //rojo oscuro
ELSEIF valor=="I"
Return nRGB(255,243,21) //Amarillo Oscuro
ELSEIF valor=="Z"
Return nRGB(255,243,21) //Amarillo Oscuro
ELSE
Return nRGB(94, 174, 255) //Azul Defecto
ENDIF
Saludos
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
LEANDRO AREVALO
Bogotá (Colombia)
https://hymlyma.com
https://hymplus.com/
leandroalfonso111@gmail.com
leandroalfonso111@hotmail.com
[ Turbo Incremental Link64 6.98 Embarcadero 7.70 ] [ FiveWin 24.09 ] [ xHarbour 64 bits) ]
- cmsoft
- Posts: 1297
- Joined: Wed Nov 16, 2005 9:14 pm
- Location: Mercedes - Bs As. Argentina
- Been thanked: 2 times
Re: Cambiar Color a una CELDA en Xbrowse por cada registro
Creo que tendrías que poner el color según el valor mas chico para cada caso
Suponte que tienes la tabla con los siguientes campos: data1, data2, data3, valor1, valor2, valor3, valor4 , donde valor1 a valor4 son los que quieres comparar
Suponte que tienes la tabla con los siguientes campos: data1, data2, data3, valor1, valor2, valor3, valor4 , donde valor1 a valor4 son los que quieres comparar
Code: Select all | Expand
#include "FiveWin.ch"
//----------------------------------------------------------------//
function Main()
local oDlg, oLbx
USE Data
DEFINE DIALOG oDlg FROM 5,10 TO 24, 86 ;
TITLE "Valor minimo en verde"
@ 1, 0.50 XBROWSE oLbx ALIAS "DATA" AUTOCOLS SIZE 285, 95 OF oDlg
WITH OBJECT oLbx
:aCols[4]:bClrStd := {|| {CLR_BLACK,colorMin(4) } }
:aCols[5]:bClrStd := {|| {CLR_BLACK,colorMin(5) } }
:aCols[6]:bClrStd := {|| {CLR_BLACK,colorMin(6) } }
:aCols[7]:bClrStd := {|| {CLR_BLACK,colorMin(7) } }
:CreateFromCode()
END
@ 10, 18 BUTTON "&Cancel" OF oDlg SIZE 40, 12 ACTION oDlg:End()
ACTIVATE DIALOG oDlg CENTERED
return nil
STATIC FUNCTION ColorMin(n)
LOCAL nColor := CLR_WHITE
DO CASE
CASE n = 4
IF(data->valor1 < data->valor2 .and. data->valor1 < data->valor3 .and. data->valor1 < data->valor4 )
nColor := CLR_GREEN
ENDIF
CASE n = 5
IF(data->valor2 < data->valor1 .and. data->valor2 < data->valor3 .and. data->valor2 < data->valor4 )
nColor := CLR_GREEN
ENDIF
CASE n = 6
IF(data->valor3 < data->valor1 .and. data->valor3 < data->valor2 .and. data->valor2 < data->valor4 )
nColor := CLR_GREEN
ENDIF
CASE n = 7
IF(data->valor4 < data->valor1 .and. data->valor4 < data->valor3 .and. data->valor4 < data->valor3 )
nColor := CLR_GREEN
ENDIF
ENDCASE
RETURN nColor
-
- Posts: 212
- Joined: Wed Apr 07, 2021 3:56 pm
Re: Cambiar Color a una CELDA en Xbrowse por cada registro
Muchas GRACIAS !!!! Leandro y como siempre CESAR!!!!