Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Stringgrid Zelle in Checkbox umwandel (https://www.delphipraxis.net/137171-stringgrid-zelle-checkbox-umwandel.html)

Wonx 15. Jul 2009 14:01


Stringgrid Zelle in Checkbox umwandel
 
Also mein Problem ist folgendes ich habe 2 Stringgrids in denen ich Daten vergleiche(Die aber eine unbestimmte Menge von Zeilen enthalten können) und immer wenn ein Abgleich erfolgreich war soll an einer Checkbox die Links neben der Tabelle steht einen halen bekommen.
Bei einer bestimmten menge von Daten auch kein problem Checkbox einfach selber hinnmachen, nur da ich halt eine sich Dynamisch verändernde anzahl von Daten hab und dadurch auch Theoretisch unendlich viele Checkboxen.
Dachte ich mir das es vll am einfachsten ist wenn man eine Spalte vom StringGrid einfach zu einer Checkbox macht die frage ist nur wie :glaskugel:

Pilloker 15. Jul 2009 14:28

Re: Stringgrid Zelle in Checkbox umwandel
 
Du musst Dir entweder ein eigenes Stringgrid aus dem Standard ableiten und dann die Checkbox in die Zelle zeichnen oder Du nutzt Grids, die das bereits können, wie bspw. das von DevExpress oder TMS.

mashutu 16. Jul 2009 07:55

Re: Stringgrid Zelle in Checkbox umwandel
 
Vielleicht ist es (fuers Erste) einfacher, lediglich die Farbe des Textes im Stringgrid zu veraendern.
Bspw.: Sind die Zeilen gleich so wird Font.Color := clGreen gesetzt...

Wonx 16. Jul 2009 09:43

Re: Stringgrid Zelle in Checkbox umwandel
 
Jo ich hab das jetzt auch in die richtung gelöst ich hab ihm im OnDrawCell einfach gesagt das er entweder nen gruenen oder nen roten punkt in die zelle einfügen soll(man könnte auch das bild vonner checkbox nehmen aber ich fand die punkte moderne 8) )

Hansa 16. Jul 2009 09:59

Re: Stringgrid Zelle in Checkbox umwandel
 
Wenn innerhalb von 20 St. keine fertige Antwort kommt, dann gibt man auf oder wie ? :mrgreen:

Delphi-Quellcode:
const IsChecked : array[Boolean] of Integer =
  (DFCS_BUTTONCHECK, DFCS_BUTTONCHECK or DFCS_CHECKED);
...
if ACol in CheckBoxCols then begin
  DrawRect:=Rect;
  InflateRect(DrawRect,-1,-1);
  DrawState := ISChecked[StrToInt (sgSender.Cells [ACol,ARow]) = 1];
  sgSender.Canvas.FillRect(Rect); // hinter Cells liegende 0/1 nicht anz.
  DrawFrameControl(sgSender.Canvas.Handle,DrawRect,DFC_BUTTON,DrawState);
end
Ich erläure das allerdings jetzt nicht näher. Man beachte allerdings den Kommentar !!

oki 16. Jul 2009 11:39

Re: Stringgrid Zelle in Checkbox umwandel
 
Hi,

imho solle das TListView schon Checkboxen besitzen. Ein Austausch des StringGrit gegen eine ListView sollte auch eine Möglichkeit darstellen.

Gruß oki


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:03 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