Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi StringAlignGrid (https://www.delphipraxis.net/106040-stringaligngrid.html)

pauletta82 4. Jan 2008 09:22


StringAlignGrid
 
Hallo,
ich nutze ein StringAlignGrid mit 3 Spalten und beliebig viel erweiterbaren Zeilen, es ist eine Art Taschenrechner wo die einzelnen Zahlen aufsummiert werden sollen, also bei jeder neuen Zahl eine neue Zeile eingefügt wird, in die erste Spalte soll man durch Klick auf die jeweilige Zeile einen Text eintragen können, die beiden anderen Spalten dienen nur zur reinen Anzeige.
Wie kann ich das bei einem StringAlignGrid realisieren?
Gibt es dort eine Eigenschaft mit der ich das einstellen kann?

mashutu 4. Jan 2008 09:26

Re: StringAlignGrid
 
Ich kenne das stringAlignGrid nicht - wo gibt es das?
Kannst Du Deine eigentliche Frage bitte praezisieren?

pauletta82 4. Jan 2008 09:34

Re: StringAlignGrid
 
ich vermute dass es von einem kollegen zusätzlich installiert wurde.
wenn ich mit der linken maustaste auf eine zeile des stringaligngrids klicke dann soll der cursor in die erste spalte dieser zeile springen und man soll dort einen kurzen text eingeben können, der natürlich auch dann im grid gespeichert werden soll, also ich suche eine funktion oder eine eigenschaft mit der ich die angeklickte zeile auslesen kann und die es ermöglicht einen text in das grid zu schreiben

hoika 4. Jan 2008 09:55

Re: StringAlignGrid
 
Hallo,

Spalte setzen
im Grid.OnClick Grid.Col:= 0 schreiben

Text schreiben
in Options goEditing auf True setzen
Das Bearbeiten erfolgt dann über enter oder F2 (habe ich gerade nicht im Kopf)

Auslesen
Grid.Cells[ACol,ARow] ergibt den Text der entsprechenden Zelle

Grid.Col setzen und lesen der aktuellen Spalte
Grid.Row setzen und lesen der aktuellen Zeile

Ein Grid.Cells[Grid.Col,Grid.Row] lieste also die aktuelle Zelle aus

neue Zeile/Verschieben usw.
Grid.RowCount:= Grid.RowCount+1;
Alle Rows eine Zeile nach unten

Dafür gibt es fertigen Code hier (InsertRow, MoveRow) einfach mal suchen


Heiko

mashutu 4. Jan 2008 09:58

Re: StringAlignGrid
 
Zitat:

Zitat von pauletta82
ich vermute dass es von einem kollegen zusätzlich installiert wurde.

:-|
hmmm, warum versuchst Du es nicht mal zuerst mit einem 'normalen' stringgrid.
Da kann man

sgrd.Cells[iCol,iRow]:='ffoo';
reinschreiben
und mit
s:=sgrd.Cells[iCol,iRow];
auslesen.
sollte aber bei Deinem Grid auch gehen, da es sehr warhscheinlich von TstringGrid abgeleitet ist.

pauletta82 4. Jan 2008 12:25

Re: StringAlignGrid
 
Text schreiben
in Options goEditing auf True setzen
Das Bearbeiten erfolgt dann über enter oder F2 (habe ich gerade nicht im Kopf)

hallo,
das mit dem text reinschreiben funktioniert nicht, wenn ich eine zeile anklicke sollte der cursor in die erste spalte dieser zeile springen, und dann sollte man in diese zelle einen kommentar schreiben können, quasi genauso wie ich in ein edit-feld schreiben kann, das geht weder direkt durch anklicken, noch durch drücken von enter oder einer anderen taste!

mashutu 4. Jan 2008 18:32

Re: StringAlignGrid
 
Also wenn das nicht geht isses eine Spezialitaet (aka Problem) von Deinem AlignStringGrid.
Warum probierst Du es nicht mal mit einem Stringgrid? Bzw. was ist denn das KO-Kriterium fuer die Verwednung des Alignstringgrids.?


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