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 TsGrid-Werte zur Laufzeit setzen (https://www.delphipraxis.net/16990-tsgrid-werte-zur-laufzeit-setzen.html)

scouty 26. Feb 2004 17:37


TsGrid-Werte zur Laufzeit setzen
 
Also, ich fürchte, dass mir hier wohl diesmal so recht keiner helfen kann. Dennoch will ich es trotzdem versuchen, denn ich kann nicht weitere Stunden sinnlos rumprobieren.

Ich benutze unglücklicherweise ein TTsGrid. Unglücklicherweise deshalb, weil ich damit keine Erfahrung habe, die Komponente für mich sehr sehr umfangreich und dabei noch unzureichend dokumentiert ist. Jedenfalls will ich die Werte des Grids zur Laufzeit setzen. Ich benutze dafür die Eigenschaft Cells. Das Problem dabei ist jedoch, dass ich zwar meine Werte problemlos in die Zellen schreiben kann, diese neuen Werte im Grid nicht angezeigt werden. In der Hilfe wird auch angedeutet, dass man irgendwas machen muss, damit die Werte angezeigt werden, was jedoch genau, darüber schweigt sich die Hilfe aus. Ich sollte hier noch anmerken, dass ich die Eigenschaft „StoreData“ auf True gesetzt habe.

Also, wenn hier zufällig einer eine Idee oder gar Erfahrungen mit TsGrid hat, dann wäre ich für einen Tipp sehr dankbar. Da diese Komponente sehr umfangreich ist, habe ich nämlich keine Lust noch weitere Stunden, an dieser sinnlos rumzuprobieren.


Vielen Dank

Scouty

PS.: Hier noch etwas Code, vielleicht ist er ja hilfreich:
Delphi-Quellcode:
procedure TFraImp.SetTsGrd;
var i: Integer;
begin
  TsGrd.Rows := Src.DataSet.FieldDefs.Count+1;
  for i := 0 to Src.DataSet.FieldDefs.Count-1 do
  begin
    TsGrd.Cell[1,i+1] := Src.DataSet.FieldDefs.Items[i].Name;
    ShowMessage(TsGrd.Cell[1,i+1]); //nur testweise
  end;
  //TsGrd.Refresh; funktioniert auch nicht
end;

scouty 26. Feb 2004 19:42

Re: TsGrid-Werte zur Laufzeit setzen
 
Ach Leute, ich habe die Lösung gefunden. Ein denkbar dummer Fehler. Man muss bei den TsGrid-Komponenten beachten, dass dort der Index für Zeile und Spalte bei 1 und nicht bei 0 beginnt, wie sonst oft üblich. Ich habe dies nicht beachtet, so wurden die Werte in die falsche Spalte eingetragen, die keine Werte anzeigen kann, so dass die Werte auch letztlich nicht angezeigt wurden. So einfach ist das, wenn man erst mal dahinter gekommen ist. Nur für den Fall, dass vielleicht einer mal ein ähnliches Problem hat, habe ich hier noch mal die Lösung geschrieben.

Also, dann bis demnächst

Scouty


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