Einzelnen Beitrag anzeigen

Hansa

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

Re: Property "Objects" im Stringgrid

  Alt 24. Feb 2005, 11:56
Dann lasse dich eben nicht verwirren. 8) Wieso soll man so was nicht weiterverwenden können ? Das einzige was verwirrend ist, das ist die Tatsache, daß du plötzlich für ein Grid (also ein Array) ein zweites Array brauchst. Ich brauche für solche Sachen nur noch 3 Prozeduren anzupassen. Das sind ca. 50 Zeilen Code. Die Stringgrid.Objects spielen eine wichtige Rolle. Damit erschlage ich jedes Grid. Trotz unterschiedlicher Spaltenanzahl, unterschiedlicher Datasets, unterschiedlicher Darstellung, unterschiedlicher Zahlenformate usw.

Stop, es sind sogar nur 2 Prozeduren : ErmittleDaten und ZeigeDetailPositionen. Die erste enthält ein teilweise komplexes Select-Statement, um die Daten anzufordern. Die zweite muß ich an das jeweilige Grid anpassen, also was genau in welcher Zelle steht. Und da kommen nun die Stringgrid.Objects ins Spiel. Z.B. halte ich damit fest, ob der Mindestbesatnad unterschritten ist. Ist das der Fall, so werte ich es im OnDrawCell aus und färbe die Zelle, so daß man es sofort sieht. Das betrifft jetzt mehr die Ausgabe.

Bei der Eingabe gibt es folgenden Fall : ich will die Zellen wissen, bei denen etwas gescannt wurde. Sie sollen sich von denen, die von Hand eingegeben wurden unterscheiden. Wurde gescannt, so setze ich das Objects-Feld SCAN auf true. Im OnDrawCell gucke ich dann da nach und schreibe noch klein "scan" in die entsprechende Zelle. Gleichzeitig wird editable (oder wie es bei mir heißt MouseSelect) auf false gesetzt. Im OnSelectCell wird das nun abgefragt. Bei Ergebnis = false, geht es eben nicht. Das dient um bereits eingegebene Werte nicht mehr ändern zu können.

Wer jetzt kommt und sagt, das würde so nicht gehen oder das wäre zu kompliziert, der muß eben noch lernen wie das geht. Kiar und Sharky benutzen die Dinger übrigens auch. Zumindest wurde das gesagt. Sharky hält damit die IDs seiner Daten fest. Und Kiar muß irgendwelche Zellen "halbieren" und die Hälften auch färben. All das läßt sich genial einfach mit diesen Objects realisieren.

Wer sich das nicht mal angesehen hat, der sollte es sich dringend mal anschauen ! Nur über Delphi motzen zählt nicht.
Gruß
Hansa
  Mit Zitat antworten Zitat