![]() |
StringGrid1:=StringGrid2?
Warum geht der Code
Delphi-Quellcode:
nicht?
StringGrid1:=StringGrid2;
habe eine Komponente auf dem Formular und eine Variable vom Typ TStringGrid. Jetzt will ich dden Inhalt der Variable in die Komponente kopieren, allerdings geht das scheinbar nicht so einfach. |
Re: StringGrid1:=StringGrid2?
hi,
mit dem code kopierst du lediglich eine referenz auf die objekte. versuchs mal mit
Delphi-Quellcode:
ich bin mir jetzt nicht ganz sicher, ob die daten des stringgrids in der property items gespeichert werden. aber so sollte es gehen.
stringGrid1.items.assign(StringGrid2.items);
aenogym |
Re: StringGrid1:=StringGrid2?
Items gibbet bei Stringrids leider nicht
Und einfach StringGrid1.Assign(StringGrid2); gibbet zwar aber funzt au net |
Re: StringGrid1:=StringGrid2?
mach doch einfach na kleine FOR-Schleife in ner FOR-Schleife und schon haste den Inhalt kopier :mrgreen:
|
Re: StringGrid1:=StringGrid2?
hm... in welcher property wurden denn gleich die einträge gespeichert? diese sollte man ja assignen können.
jetzt isses mir wieder eingefallen: cells[] da ist assign() leider nicht möglich. ergo funktioniert das:
Delphi-Quellcode:
aenogym
var x, y: integer;
begin stringGrid1.clear(); for x:=0 to stringGrid2.colCount-1 do begin for y:=0 to stringGrid2.rowCount-1 do begin //bei folgender zeile könnte es auch sein, dass die zelen andersrum indiziert sind. //sollte es also nicht klappen, einfach mal x und y in beiden cells-angaben vertauschen ;) stringGrid1.cells[x, y] := stringGrid2.cells[x, y]; end; end; end; @teron: so ich hab mir jetz die arbeit gemacht und schicks trotzdem ab :) |
Re: StringGrid1:=StringGrid2?
Ja aber es sollten wenn möglich alle Spaltenbreiten usw. übernommen werden können und das is v.Hd. bissl "mühsam"(Programmierer sind faul) :mrgreen:
Edit: @aenogym : das geht au besser :
Delphi-Quellcode:
Jo funzt perfekt danke nochmal
procedure Grid_anzeigen(Grid : TStringGrid);
var i : integer; begin with StringGrid1 do begin RowCount:=Grid.RowCount; for i:= 0 to Pred(Grid.RowCount) do Rows[i].Assign(Grid.Rows[i]); //Und damit hab ich die Spaltenbreite for i:= 0 to Pred(Grid.ColCount) do ColWidths[i]:=Grid.ColWidths[i]; end; end; :angel: |
Re: StringGrid1:=StringGrid2?
geht doch :mrgreen:
(dass man row und col direkt ansprechen kann, hab ich doch glatt vergessen^^) |
Re: StringGrid1:=StringGrid2?
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz