FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Colorear registro xBrowse x un numero
Posts: 366
Joined: Wed Aug 30, 2006 05:25 PM
Colorear registro xBrowse x un numero
Posted: Mon Jul 11, 2011 03:12 AM
Amigos, tengo un xBrowse donde muestro una base de datos de movimientos. Estos movimientos tienen un numero diferente para todos...pero
algun movimiento tiene mas de un registro (o sea que tienen el mismo numero), y lo que deseo es que cada registro que tenga el mismo numero tenga un color.

Ej.: Estos son registros de una bd
nromov 1
nromov 1
nromov 2
nromov 3
nromov 3
nromov 4
nromov 5

Gracias, saludos

Ruben Fernandez
Gracias y Saludos

Ruben Fernandez - Uruguay

FWH 11.06, Harbour, Borland 5.82
Posts: 610
Joined: Wed Oct 19, 2005 08:20 PM
Re: Colorear registro xBrowse x un numero
Posted: Mon Jul 11, 2011 06:32 PM
Hola Ruben:

Tengo implementado algo parecido que no se si es lo que buscas. Te pongo el trozo de código por si lo puedes adaptar a tus necesidades:


Code (fw): Select all Collapse
................
     REDEFINE LISTBOX oLbx ;
            FIELDS DTOC(COLAS->Fecha),;
            COLAS->HORA,;
            str(COLAS->NUMERO,2),;
            COLAS->USUARIO,;
            COLAS->MESA;
            HEADERS " Fecha","Hora","Número","Usuario","Mesa";
            ID 200;
            FONT oFont1;
            OF oDlg

      oLbx:nClrPane     := { || PonColor(COLAS->MESA,aSeleccion ) }
..................
.................

******************************************************
FUNCTION PONCOLOR( cNumero, aSeleccion )
******************************************************
local nColor := CLR_WHITE
local nPos   := AScan(aSeleccion, cNumero)
      //
       IF    VAL(SUBSTR(ALLTRIM(STR(nPos,10)),len(alltrim(str(nPos))),1)) = 1
          nColor = RGB(200,150,100)
      ELSEIF VAL(SUBSTR(ALLTRIM(STR(nPos,10)),len(alltrim(str(nPos))),1)) = 2
          nColor = RGB(250,200,15)
      ELSEIF VAL(SUBSTR(ALLTRIM(STR(nPos,10)),len(alltrim(str(nPos))),1)) = 3
          nColor = RGB(200,175,100)
      ELSEIF VAL(SUBSTR(ALLTRIM(STR(nPos,10)),len(alltrim(str(nPos))),1)) = 4
          nColor = RGB(1,200,150)
      ELSEIF VAL(SUBSTR(ALLTRIM(STR(nPos,10)),len(alltrim(str(nPos))),1)) = 5
          nColor = RGB(150,175,16)
      ELSEIF VAL(SUBSTR(ALLTRIM(STR(nPos,10)),len(alltrim(str(nPos))),1)) = 6
          nColor = RGB(190,175,190)
      ELSEIF VAL(SUBSTR(ALLTRIM(STR(nPos,10)),len(alltrim(str(nPos))),1)) = 7
          nColor = RGB(200,250,150)
      ELSEIF VAL(SUBSTR(ALLTRIM(STR(nPos,10)),len(alltrim(str(nPos))),1)) = 8
          nColor = CLR_BROWN
      ELSEIF VAL(SUBSTR(ALLTRIM(STR(nPos,10)),len(alltrim(str(nPos))),1)) = 9
          nColor = RGB(250,150,120)
      ELSEIF VAL(SUBSTR(ALLTRIM(STR(nPos,10)),len(alltrim(str(nPos))),1)) = 0
          nColor = CLR_LIGHTGRAY
      ELSE
          nColor = CLR_WHITE
      ENDIF

     //
RETURN nColor
Un saludo,

Manuel



xH 1.2.3, FWH 23.07 32 bits, BC++ 7.4, xVerce CW 1.0, PellesC
Posts: 366
Joined: Wed Aug 30, 2006 05:25 PM
Re: Colorear registro xBrowse x un numero
Posted: Mon Jul 11, 2011 07:11 PM

Gracias Manuel, pero no me funcionó, o no supe hacerlo funcionar.

Quizas halla en xBrowse una forma facil de hacerlo con Group o algo asi,que agrupe cierta informacion por un dato, seguiré viendo.

Muchas gracias de nuevo.

Saludos
Ruben Fernandez

Gracias y Saludos

Ruben Fernandez - Uruguay

FWH 11.06, Harbour, Borland 5.82

Continue the discussion