Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Delphi Neu erzeugte Columns automatisch mit text füllen (https://www.delphipraxis.net/180193-neu-erzeugte-columns-automatisch-mit-text-fuellen.html)

rhodan 29. Apr 2014 16:59

Neu erzeugte Columns automatisch mit text füllen
 
hi..

mit diesem code füge ich eine weitere Column in meinem Stringgrid (bzw stringgrids..es sind 2) ein zur laufzeit:

Delphi-Quellcode:
procedure TForm2.neuermitarbeiterClick(Sender: TObject);
var
 Column: Integer;
 NewColumn: Integer;
begin
  Grid.ColCount := Grid.ColCount + 1;
  proviGrid.ColCount := proviGrid.ColCount + 1;

  for Column := Grid.ColCount - 1 downto NewColumn do
    Grid.Cols[Column].Assign(Grid.Cols[Column - 1]);
    for Column := proviGrid.ColCount - 1 downto NewColumn do
    proviGrid.Cols[Column].Assign(proviGrid.Cols[Column - 1]);

  Grid.Cols[NewColumn - 1].Text := '';
  proviGrid.Cols[NewColumn - 1].Text := '';
das funktioniert auch, nur möchte ich diese gleich mit text füllen und die letzten beiden zeilen des obrigen codes funktionieren nicht...wenn ich die ' ' fülle bleiben die neu erzeugten Columns leer leider. hat jemand nen tip was ich falsch mache?

danke

Perlsau 29. Apr 2014 17:49

AW: Neu erzeugte Columns automatisch mit text füllen
 
Um der Zelle eines StringGrids Text zuzuweisen, verwende man das Property Cells:

Delphi-Quellcode:
Grid.Cells[1,1] := 'MeinText';

rhodan 29. Apr 2014 18:34

AW: Neu erzeugte Columns automatisch mit text füllen
 
ah...aber
Delphi-Quellcode:
 Grid.cells[NewColumn - 1,0].Text := '';
funktioniert nicht wirklich :S da unterstreicht er mir das wort TEXT

Perlsau 29. Apr 2014 18:38

AW: Neu erzeugte Columns automatisch mit text füllen
 
Zitat:

Zitat von rhodan (Beitrag 1257423)
funktioniert nicht wirklich :S da unterstreicht er mir das wort TEXT

Und das völlig zu Recht: Das Property Text gibt es nicht. Laß es einfach weg. Zum Vergleich schau dir nochmal meinen Code oben an, da steht auch nix von Text ...:cyclops:

rhodan 29. Apr 2014 18:49

AW: Neu erzeugte Columns automatisch mit text füllen
 
Liste der Anhänge anzeigen (Anzahl: 1)
ahh, isee...die fehlermeldung ist weg aber einen text sehe ich trotzdem nicht....ömm..

es geht um das feld rechts von dem feld wo KEINE drin steht die ich gerade neu hinzugefügt habe

das wäre doch
Delphi-Quellcode:
proviGrid.cells[NewColumn - 1,2] := 'test';
oder ist die posi ,2 falsch? oO

rhodan 29. Apr 2014 19:59

AW: Neu erzeugte Columns automatisch mit text füllen
 
zum besseren verständnis hier nochmal der gesamte code der auf knopfdruck ne neue column anlegt in beiden stringgrids

Delphi-Quellcode:
procedure TForm2.neuermitarbeiterClick(Sender: TObject);
var
 Column: Integer;
 NewColumn: Integer;
begin
  Grid.ColCount := Grid.ColCount + 1;
  proviGrid.ColCount := proviGrid.ColCount + 1;

  for Column := Grid.ColCount - 1 downto NewColumn do
    Grid.Cols[Column].Assign(Grid.Cols[Column - 1]);
    for Column := proviGrid.ColCount - 1 downto NewColumn do
    proviGrid.Cols[Column].Assign(proviGrid.Cols[Column - 1]);

  Grid.cells[NewColumn - 1,0] := '';
  proviGrid.cells[NewColumn - 1,3] := 'test';
  if grid.Colcount > 9 then
  grid.Colcount:=9;
   if provigrid.Colcount > 9 then
  provigrid.Colcount:=9;
end;
die zeile

Delphi-Quellcode:
 proviGrid.cells[NewColumn - 1,3] := 'test';
hab ich jetzt nur zu testzwecken verändert aber es tut sich nichts beim erstellen einer neuen column texttechnisch

ps: sorry für doublepost

Perlsau 29. Apr 2014 20:07

AW: Neu erzeugte Columns automatisch mit text füllen
 
Kannst du mir mal zeigen, wo die Integer-Variable NewColumn initialisiert wird?

rhodan 29. Apr 2014 20:30

AW: Neu erzeugte Columns automatisch mit text füllen
 
genau das scheine ich verschwitzt zu haben -.- die taucht nur in dem code auf den ich geposted habe.
offensichtlich gar nichts deshalb tut sich auch nichts.:x ich probiers selbst nochmal

Perlsau 29. Apr 2014 20:34

AW: Neu erzeugte Columns automatisch mit text füllen
 
Kein Wunder, daß sie sonst nirgendwo auftaucht, ist ja auch eine lokale Variable, die bei ihrer ersten Verwendung irgend einen zufälligen Wert besitzt. Damit schreibst du in eine Spalte, die es gar nicht gibt, womit sich auch erklärt, daß du deinen Text nirgendwo zu Gesicht bekommst.


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