![]() |
Datenbank: access • Version: 2000 • Zugriff über: ado
Stringgrid Zelleninhalt verändern und speichern
hallo leute,
ich lass mir eine zeile aus einer access tabelle in einer stinggrid ausgeben
Delphi-Quellcode:
mit der folgenden methode färbe ich die zelle, in die gesprungen wird, rot an.
procedure TForm1.getDBRow;
var a, column: Integer; //a ist counter begin StringGrid1.EditorMode := true; getDBRowValue('BW', m_idNorm, m_idNAD); //ADODataSet1.Open; //Zeilenanzahl entspricht gleich der Spaltenanzahl im Grid StringGrid1.RowCount:=ADODataSet1.FieldCount+1; //Spaltenanzahl entspricht der Anzahl der Einträge (datasets, zeilen) im Grid StringGrid1.ColCount:=ADODataSet1.RecordCount+1; //Spaltennamen in die erste Zelle der Zeilen schreiben for a:=0 to ADODataSet1.FieldCount-1 do StringGrid1.Cells[0,a+1]:=ADODataSet1.Fields[a].FieldName; //Cells[spalte/zeile] //laden... ADODataSet1.First; column:=1; while not ADODataSet1.Eof do begin for a:=0 to ADODataSet1.FieldCount-1 do StringGrid1.Cells[column,a+1]:=ADODataSet1.Fields[a].DisplayText; ADODataSet1.Next; Inc(column); end; end;
Delphi-Quellcode:
procedure TForm1.StringGrid1DrawCell(Sender: TObject; ACol,ARow: Integer; Rect: TRect; State: TGridDrawState); var outRect : TRect; // Die Ausmaße der Zelle Text : String; // Der Inhalt der Zelle begin Text := StringGrid1.Cells[ACol, ARow]; // Holt sich den Text outRect:=Rect; // Holt sich die Größe der Zelle if (gdselected in state) then StringGrid1.canvas.brush.color := clRed; StringGrid1.Canvas.Fillrect(Rect); // markieren der Zelle DrawText(StringGrid1.Canvas.Handle,PChar(Text),length(Text),outRect,DT_Left //=Linksbündig, DT_Center=Zentiert, DT_Right=Rechtsbündig or DT_WordBreak); //=Umbruch, DT_SingleLine=ohne Umbruch end; nun möchte ich die Inhalte der Zellen verändern und diese direkt in die access datenbank speichern. goEditing ist auf true gesetzt. Ich glaube ich brauche eine funktion der überprüft in welchem feld der access tabelle ich mich genau befinde wenn ich eine bestimmte zelle im sgrid anklicke. Weis nicht wie ich das anstellen soll :gruebel: Kann mir jemand helfen ?? |
Re: Stringgrid Zelleninhalt verändern und speichern
|
Re: Stringgrid Zelleninhalt verändern und speichern
:-D okay danke,
ich versuch das gerade auszuprobieren, aber ich kann die Zellen nicht editieren. obwohl ich goediting und editormode auf true gesetzt habe. hast du ne idee was ich noch tun könnte ?
Delphi-Quellcode:
StringGrid1.Options := StringGrid1.Options + [goEditing];
StringGrid1.EditorMode := true; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:20 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