Vielen Dank für die Antwort!
Leider hilft es mir noch nicht weiter. Ich würde so etwas wie die nachstehende FillGrid Procedure benötigen...
Aus Deinem Code kann ich nicht erkennen, wie DU die Daten aus der
DB holst bzw. dem Edit-Feld dann zuordnest. Bin wirklich um die Lösung verlegen!
Nachfolgend der FillGrid Code, mit dem ein StringGrid mit Daten "befüllt" wird:
Delphi-Quellcode:
procedure FillGrid(SG: TStringGrid; Cols: TCols; Rows: TRows);
var
i, j : Integer;
begin
SG.ColCount := 0;
SG.RowCount := 0;
if Assigned(Rows) then
begin
// Wir brauchen eine Zeile mehr für die Spaltenüberschriften
SG.RowCount := length(Rows[0]) + 1;
SG.ColCount := length(Cols);
SG.FixedRows := 0;
// Spaltenüberschriften in die erste Zeile schreiben
for i := 0 to length(Cols) - 1 do
begin
SG.Cols[i].Add(Cols[i]);
SG.Cells[i, 0] := Cols[i];
end;
// zwei-dimensionales Zeilen-Array in den Zellen ausgeben
for i := 0 to length(Cols) - 1 do
begin
for j := 0 to length(Rows[0]) - 1 do
begin
SG.Cells[i, j + 1] := Rows[i, j];
end;
end;
end;
end;
Ich hatte versucht, diese Procedure anzupassen, in dem ich folgende Änderungen vorgenommen hatte:
Delphi-Quellcode:
procedure FillGrid(ED : TEdit; Cols: TCols; Rows: TRows); //Damit ich ein Edit-Feld übergeben kann
var
i, j : Integer;
SG: TStringGrid; // Damit die eigentliche Procedure normal läuft und ich aus SG die
// entsprechende Werte holen kann...
begin
SG.ColCount := 0;
SG.RowCount := 0;
if Assigned(Rows) then
begin
// Wir brauchen eine Zeile mehr für die Spaltenüberschriften
SG.RowCount := length(Rows[0]) + 1;
SG.ColCount := length(Cols);
SG.FixedRows := 0;
// Spaltenüberschriften in die erste Zeile schreiben
for i := 0 to length(Cols) - 1 do
begin
SG.Cols[i].Add(Cols[i]);
SG.Cells[i, 0] := Cols[i];
end;
// zwei-dimensionales Zeilen-Array in den Zellen ausgeben
for i := 0 to length(Cols) - 1 do
begin
for j := 0 to length(Rows[0]) - 1 do
begin
SG.Cells[i, j + 1] := Rows[i, j];
ED.Text:=SGCells[0,0]; //Um jetzt im übergebenden Edit-Feld EINEN Wert zu setzten...
end;
end;
end;
end;
Vielen Dank Euch im Voraus