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 firemonkey stringgrid befüllen (https://www.delphipraxis.net/185468-firemonkey-stringgrid-befuellen.html)

sephraina 14. Jun 2015 08:43

firemonkey stringgrid befüllen
 
Hallo Zusammen

Ich habe Mühe ein Stringgrid in meiner App zu zeichnen.
Mein Ansatz war: Erstelle ein Stringgrid mit leeren Zellen
Dann fülle die erste Spalte mit Werten aus einer Listbox.

Aber es hapert schon beim Anfang.
Das Programm compiliert brav was ich programmiert habe, aber wenn ich das Befüllen anklicke kommt immer der Fehler : "Spaltenindex, Zahl, ausserhalb des gültigen Bereichs"

meine Codeschnipsel soweit:
Delphi-Quellcode:
procedure TFProbenbearbeitung.FormActivate(Sender: TObject);
begin
      Stringgrid2.RowCount := 2;
      Stringgrid2.ColumnIndex := 4;
end;
Obigen Code habe ich so aus einem Anderen Beitrag angepasst (von oncreate zu onActivate)
im "onExit"-Event der Listbox wird dieser Code ausgeführt:
Delphi-Quellcode:
begin
     if Listbox1.ListItems[i].IsSelected then   begin

        Stringgrid2.Cells[0, selI] := Listbox1.ListItems[i].Text;
        selI := selI +1;
        Stringgrid2.RowCount := Stringgrid2.RowCount +1 ;
        end;

end;
Ausserdem ist mir aufgefallen, dass bei fmx stringgrid das stringgrid.colcount anders heisst. (stringgrid.columncount) aber das funktioniert nicht so wie im normalen VCL-Stringgrid

Wieso?

Was mach ich falsch?

Gruss Sephraina

himitsu 14. Jun 2015 09:16

AW: firemonkey stringgrid befüllen
 
Was/wo ist
Delphi-Quellcode:
i
und
Delphi-Quellcode:
selI
und welchen Wert haben die?

Am Einfachsten ist es wohl, wenn du das Grid mit irgendeiner Datenquelle bindest und Diese dann befüllst.

Harry Stahl 14. Jun 2015 09:19

AW: firemonkey stringgrid befüllen
 
Hast Du dem StringGrid denn überhaupt schon die benötigte Anzahlt von TStringColumns hinzugefügt (mit rechte Maustaste auf StringGrid klicken und "TStringColumn hinzufügen" wählen)?

Im Unterschied zum VCL-Grid muss man unter FireMonkey die Spalten hier explizit als TStringColumn-Objekte hinzufügen.

Ansonsten ist hier nicht klar, wo Deine Variablen "i" und "selI" herkommen und welche Inhalte die haben.

sephraina 14. Jun 2015 10:58

AW: firemonkey stringgrid befüllen
 
Hallo,

i, selI werden vorher schon definiert.

Aber betreffend dem Initialisieren der Columns. Diese sollen zur Laufzeit erstellt werden und nicht vordefiniert sein.
Wie sag ich dem Programm dass er so und so viele Columns erstellen soll?

himitsu 14. Jun 2015 11:46

AW: firemonkey stringgrid befüllen
 
Das geht natürlich ganz einfach und vollkommen verständlich, so wie alles am FMX. :stupid:
Du erstellst je einen der TColumn-Nachfahren (siehe Delphi-Referenz durchsuchenFMX.Grid) und übergibst ihn dann an Grid.AddObject .


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