🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.delphi
6 messages
6 total messages Started by Jacek Owczarek Fri, 12 Sep 1997 00:00
DBGrid i ró¿ne kolory
#76
Author: Jacek Owczarek
Date: Fri, 12 Sep 1997 00:00
9 lines
680 bytes

Witam ponownie.
Mam ma�y problem, w trakcie wy�wietlania rekord�w w DBGridzie,
potrzebuj� aby
warto�ci np. 'True' by�y wy�wietlane na zielono a 'False' na czerwono.
Pewnie tzeba u�y� zdarzenia OnDrawDataCell, tylko jak?

Pozdrawiam Jacek.
Re: DBGrid i ró¿ne kolory
#77
Author: Grzegorz Prochalski
Date: Mon, 15 Sep 1997 00:00
22 lines
1216 bytes
W bibliotece RX (dostepna na Super Page Delphi) jest taki mily komponent
RxDbGrid. Jest to troche przerobiony DbGrid. Posiada kilka dodatkowych
zdarzen, miedzy innymi zdarzenie ulatwiejace obsluge kolorow, stylow
literek oraz 'Cell'. Oczywiscie mozna to zrobic w DbGridzie ale po co
wywazac otwarte drzwi.

			Grzegorz Prochalski
                ------------------------------------
		e-mail: szc...@pik.gliwice.pl
			szc...@david.silesia.pik-net.pl


Jacek Owczarek wrote:
> 
> Witam ponownie.
> Mam ma�y problem, w trakcie wy�wietlania rekord�w w DBGridzie,
> potrzebuj� aby
> warto�ci np. 'True' by�y wy�wietlane na zielono a 'False' na czerwono.
> Pewnie tzeba u�y� zdarzenia OnDrawDataCell, tylko jak?
> 
> Pozdrawiam Jacek.
Re: DBGrid i ró¿ne kolory
#81
Author: Jacek Owczarek
Date: Thu, 18 Sep 1997 00:00
28 lines
1204 bytes
Prawie bobrze, ale niestety to zmienia kolor tylko calego rekordu, ale
jak zmienic kolor tylko jednej komorki, czy to jest mozliwe ???

Jacek.


Daniel Kowalski wrote:

> Czesc,
> Wlasnie dostalem takiego tipa:
>
> procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect:
> TRect;
>   DataCol: Integer; Column: TColumn; State: TGridDrawState);
> begin
>      if Table1.FieldByName('Population').AsInteger > 20000000 then
>         DBGrid1.Canvas.Font.Color := clBlue;
>      DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
> end;
>
>
> Mam nadzieje, ze to pomoze.
> Siemka
> --
> Daniel Kowalski
> mailto: arc...@moskit.art.olsztyn.pl
> irc: arctus
Re: DBGrid i różne kolory
#78
Author: Jacek Owczarek
Date: Thu, 18 Sep 1997 10:36
31 lines
1819 bytes
Z ciagnolem go i delej nie ma zielonego pojecia  jak to zrobic
(potrzabuje rozne kolory w tym samym rekordzie, ale to nie znaczy, ze
maja to byc cale koluny czy wiersze, tylko rozne komorki).

Jacek.

Grzegorz Prochalski wrote:

> W bibliotece RX (dostepna na Super Page Delphi) jest taki mily
> komponent
> RxDbGrid. Jest to troche przerobiony DbGrid. Posiada kilka dodatkowych
>
> zdarzen, miedzy innymi zdarzenie ulatwiejace obsluge kolorow, stylow
> literek oraz 'Cell'. Oczywiscie mozna to zrobic w DbGridzie ale po co
> wywazac otwarte drzwi.
>
>                         Grzegorz Prochalski
>                 ------------------------------------
>                 e-mail: szczepa@pik.gliwice.pl
>                         szczepa@david.silesia.pik-net.pl
>
> Jacek Owczarek wrote:
> >
> > Witam ponownie.
> > Mam mały problem, w trakcie wyświetlania rekordów w DBGridzie,
> > potrzebuję aby
> > wartości np. 'True' były wyświetlane na zielono a 'False' na
> czerwono.
> > Pewnie tzeba użyć zdarzenia OnDrawDataCell, tylko jak?
> >
> > Pozdrawiam Jacek.
Re: DBGrid i różne kolory
#80
Author: Daniel Kowalski
Date: Thu, 18 Sep 1997 12:32
47 lines
2119 bytes
Jacek Owczarek wrote:
> 
> Witam ponownie.
> Mam mały problem, w trakcie wyświetlania rekordów w DBGridzie,
> potrzebuję aby
> wartości np. 'True' były wyświetlane na zielono a 'False' na czerwono.
> Pewnie tzeba użyć zdarzenia OnDrawDataCell, tylko jak?
> 
> Pozdrawiam Jacek.

Czesc,
Wlasnie dostalem takiego tipa:

Dynamically update DBGrid row color
Versions: Delphi 2, 3

The DBGrid is a great user interface tool for displaying data. This
technique demonstrates how to dynamically change the color of text in a
DBGrid. 

For example, we want our grid to display rows of country information. If
a
country's population is greater than 20 million, we'll display its row
in
blue colored text. We test the values and update the text color in the
OnDrawColumnCell event of the grid.

procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect:
TRect;
  DataCol: Integer; Column: TColumn; State: TGridDrawState);
begin
     if Table1.FieldByName('Population').AsInteger > 20000000 then
        DBGrid1.Canvas.Font.Color := clBlue;
     DBGrid1.DefaultDrawColumnCell(Rect, DataCol, Column, State);
end;

This is a simple but visually profound technique. In addition to just
data
content, you can display the meaning of the information; e.g. a lot of
people, account overdrawn, parts have arrived.

Mam nadzieje, ze to pomoze.
Siemka
--
Daniel Kowalski
mailto: arctus@moskit.art.olsztyn.pl
irc: arctus
Re: DBGrid i ró¿ne kolory
#79
Author: Grzegorz Prochalski
Date: Fri, 19 Sep 1997 00:00
47 lines
2176 bytes
Po zainstalowaniu biblioteki RX nalezy popatrzec do katalogu Demo
biblioteki, odpalic projekt RxDemo.dpr. W pliku DbAware linia 246 jest
napisana przykladowa obsluga zdarzenia onGetCellParams. Parametry
zdarzenia to (Sender: TObject; Field: TField; AFont: TFont; var
Background: TColor;   Highlight: Boolean).
Czyli mamy dostep do wszystkiego co potrzebne. Dla wybranego
pola(Field.FieldName), o okreslonej przez nas wartosci  mozemy zmieniac
styl fontow, podkladu. Ponizej podaje procedure wycieta z Rxdemo.


procedure TDBAwareForm.rxDBGrid1GetCellParams(Sender: TObject;
  Field: TField; AFont: TFont; var Background: TColor; Highlight:
Boolean);
var
  Len: Integer;
begin
  if Field.FieldName = 'Category' then
    AFont.Style := AFont.Style + [fsBold]
  else if Field.FieldName = 'Length (cm)' then
    Background := clYellow;
  Len := (Sender as TrxDBGrid).DataSource.DataSet.FieldByName('Length
(cm)').AsInteger;
  if (Len <= 30) and (Len > 0) then
    Background := clLime  { shortest }
  else if Len >= 150 then
    AFont.Color := clRed;  { longest }
  if Highlight then begin
    AFont.Color := clHighlightText;
    Background := clHighlight;
  end;
end;



                         Grzegorz Prochalski
                 ------------------------------------
                 e-mail: szc...@pik.gliwice.pl
                         szc...@david.silesia.pik-net.pl


Jacek Owczarek wrote:
> 
> Z ciagnolem go i delej nie ma zielonego pojecia  jak to zrobic
> (potrzabuje rozne kolory w tym samym rekordzie, ale to nie znaczy, ze
> maja to byc cale koluny czy wiersze, tylko rozne komorki).
>
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads