AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Stringgrid DrawCell

Ein Thema von hansklok · begonnen am 5. Okt 2005 · letzter Beitrag vom 5. Okt 2005
Antwort Antwort
hansklok

Registriert seit: 14. Apr 2004
Ort: Karlsruhe
318 Beiträge
 
Delphi 2010 Architect
 
#1

Stringgrid DrawCell

  Alt 5. Okt 2005, 20:16
Hallo,

ich schreibe gerade für ein Unternehmen eine Software, die eine Umfrage durchführt. Gefragt wird u.a., ob man das Unternehmen kennt. Alle Datensätze werden in einem Stringgrid ausgegeben. Nun sollen die Zeilen (Datensätze) rot markiert werden, die auf die Frage, ob sie das Unternehmen kennen mit nein geantwortet haben. einen Such-Algorithmus habe ich schon, aber wie realisiere ich die rote Hinterlegung der zeilen?

MfG

hansklok
Miniaturansicht angehängter Grafiken
auswertung_394.png  
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#2

Re: Stringgrid DrawCell

  Alt 5. Okt 2005, 20:27
ungefähr so :

Delphi-Quellcode:
procedure Tfrm.sgDrawCell(Sender: TObject; ACol, ARow: Integer;
  Rect: TRect; State: TGridDrawState);
begin
  inherited;
  if (ARow >= sgNr.FixedRows) and (ACol >= sgNr.FixedCols) then begin
    if sgNr.Cells [NeinSpalte,ARow] = 'Nthen with Sender as TStringGrid do begin
      sgNr.Font.Color := clwhite;
      sgNr.Brush.Color := clRed;
    end
  end
end;
Gruß
Hansa
  Mit Zitat antworten Zitat
hansklok

Registriert seit: 14. Apr 2004
Ort: Karlsruhe
318 Beiträge
 
Delphi 2010 Architect
 
#3

Re: Stringgrid DrawCell

  Alt 5. Okt 2005, 20:30
@ hansa: Was bedeutet dies: sgRechts(sgArtNr, Rect, ACol, ARow); Ist das ein Aufruf für ein TRect?

Bei mir heißt das Stringgrid tTabelle und bei der Spalte handelt es sich um die 3.

Das habe ich von deinem Code bisher so eingegeben:

Zitat:
inherited;
if (ARow >= tTabelle.FixedRows) and (ACol >= tTabelle.FixedCols) then begin
if tTabelle.Cells [3,ARow] = 'N' then with Sender as TStringGrid do begin
Rectangle(tTabelle.Canvas.Handle, 0,0,i,3); ---> Diese Zeile ist mir unklar
//sgRechts(sgArtNr, Rect, ACol, ARow);
end
mfg

hansklok
  Mit Zitat antworten Zitat
hansklok

Registriert seit: 14. Apr 2004
Ort: Karlsruhe
318 Beiträge
 
Delphi 2010 Architect
 
#4

Re: Stringgrid DrawCell

  Alt 5. Okt 2005, 20:41
Ich habe es selbst hinbekommen. Es hätte so aussehen müssen:

Delphi-Quellcode:
var
 i: Integer;
...
with tTabelle do
  begin
      for i:= 1 to tTabelle.RowCount-1 do
        begin
          if tTabelle.Cells[3, ARow] = 'Neinthen
          begin
         Canvas.Font.Color := clRed;
         Canvas.Brush.Style:= bsSolid;
         Canvas.TextRect(Rect, Rect.Left + 2,
                         Rect.Top + 2, Cells[ACol, ARow]);
         end
      end;
   end;
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#5

Re: Stringgrid DrawCell

  Alt 5. Okt 2005, 21:25
Das sgRechts war ein Fehler. Bei mir ist das gleich rechtsbündig usw. Habe es editiert. Aber der Code mit dem for i :=... der steht doch hoffentlich nicht in dem OnDrawCell ?
Gruß
Hansa
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:29 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz