Delphi-PRAXiS
Seite 1 von 2  1 2      

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 Aktive zelle in StringGrid (https://www.delphipraxis.net/10122-aktive-zelle-stringgrid.html)

dani72 11. Okt 2003 22:18


Aktive zelle in StringGrid
 
Wie Kan ich ermitteln welche Zelle ist in String Grid aktiv und Wert auslesen?

SirThornberry 11. Okt 2003 22:57

Re: Aktive zelle in StringGrid
 
stringgrid1.selection

wenn du pech hast ist nich nur eine zelle selectiert
und auslesen

Stringgrid1.cells
stringgrid1.rows
stringgrid1.cols

dani72 11. Okt 2003 23:46

Re: Aktive zelle in StringGrid
 
Hm das hilft mir leider nicht weiter.
Wen cih StrGrid.Selection eingebe dann wie soll ich dann auslesen.

Christian Seehase 12. Okt 2003 00:30

Re: Aktive zelle in StringGrid
 
Moin Dani,

schau Dir doch mal Selection in der Hilfe an.

thawka 30. Nov 2003 17:05

Re: Aktive zelle in StringGrid
 
Liste der Anhänge anzeigen (Anzahl: 1)
Habe folgendes Problem:
Ich möchte Inhalte in einer StringGrid bei Klick auf einen Button ändern. Und zwar soll nach Markierung einer Zeile deren Inhalte in Edit-Felder übertragen werden. Meine StringGrid ist so, wie auf dem Bild im Anhang zu erkennen, aufgebaut.
Und zwar werden nach Eingabe von 6 Werten diese Daten in die StringGrid eingetragen. Jetzt soll nach einem Klick auf eine Zeile und dann auf den Ändern-Button die Inhalte jeder Zelle von dieser Zeile in die Edit-Felder (im Prinzip die gleichen wie bei Hinzufügen) übertragen werden.
Mein Problem hierbei ist, daß ich nicht weiß, wie man die einzelnen Koordinaten der Zellen der aktiven Zeile ausliest, damit die Inhalte jeder Zelle an die Edit-Felder übergeben werden können. Für hilfreiche Infos danke ich im Voraus :wink:

thawka 1. Dez 2003 19:08

Re: Aktive zelle in StringGrid
 
Hab jetzt mal folgende Idee umgesetzt:

Delphi-Quellcode:
procedure TForm1.bb_changeClick(Sender: TObject);
begin
     change.ShowModal; //change ist Formblatt, wo sich die Edit-Felder befinden
     change.edt_name.Text:=strgr.cells[0,akt_zeile]; //Variable für aktive Zeile
     change.edt_prename.Text:=strgr.cells[1,akt_zeile];
     change.edt_class.Text:=strgr.cells[2,akt_zeile];
     change.edt_run.Text:=strgr.cells[3,akt_zeile];
     change.edt_kugel.Text:=strgr.cells[4,akt_zeile];
     change.edt_jumping.Text:=strgr.cells[5,akt_zeile];
end;
Deklarierung der akt_zeile-Variable:
Delphi-Quellcode:
procedure TForm1.strgrSelectCell(Sender: TObject; ACol, ARow: Integer;
  var CanSelect: Boolean);
begin
     akt_zeile:=ARow; //Variable für aktuelle Zeile
end;
Dabei soll nach Klick auf einen Button der sich in den Zellen der aktiven Zeile befindliche Inhalt in jeweils ein Edit-Feld übertragen werden. Nur wenn ich das Programm starte, wird erst nach einem 2. Klick auf den Button die Werte übernommen. Beim ersten Mal passiert nichts. Felder sind leer. Woran kann das vielleicht liegen?
Vielen Dank für hilfreiche Hinweise :zwinker:

huberlix 3. Dez 2003 19:16

Re: Aktive zelle in StringGrid
 
Ich schätze mal, du mußt erst den Focus auf dein Stringgrid setzen.

Gruß, Bernd

thawka 3. Dez 2003 20:16

Re: Aktive zelle in StringGrid
 
Vielen Dank für Deinen Tip. Leider funktioniert dies nicht, es werden auch erst beim 2. Klick die Daten übertragen. :cry:

huberlix 3. Dez 2003 20:30

Re: Aktive zelle in StringGrid
 
Versteh ich jetzt nicht. Ich hab mal ein StringGrid angelegt, und in FormCreate mit Werten vorbelegt:
Code:
procedure TForm1.FormCreate(Sender: TObject);
begin
  StringGrid1.Cells[1,1]:='AA';
  StringGrid1.Cells[2,1]:='BB';
  StringGrid1.Cells[3,1]:='CC';
  StringGrid1.Cells[4,1]:='DD';
  StringGrid1.Cells[5,1]:='EE';
end;
Dann in Button1 OnClick:

Code:
procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.Text:=StringGrid1.Cells[1,1];
  Edit2.Text:=StringGrid1.Cells[2,1];
  Edit3.Text:=StringGrid1.Cells[3,1];
  Edit4.Text:=StringGrid1.Cells[4,1];
  Edit5.Text:=StringGrid1.Cells[5,1];
end;
Bei mir werden beim ersten Click die Edits mit AA,BB,CC usw. gefüllt.
Oder hab ich da jetzt das Problem falsch verstanden?

Gruß,Bernd

thawka 3. Dez 2003 21:33

Re: Aktive zelle in StringGrid
 
Nee nee, das Problem hast Du erkannt :wink: . Ich will die Werte einer Zeile in Edit-Felder übertragen (die sich auf einem neuen Formblatt befinden), aber ich weiß nicht, wieso das immer erst beim 2. Klick passiert :x
Ich komm in meinem Quelltext der Sache einfach nich auf den Grund... :cry:

Wenn ich die Prozedur (also das Werte eintragen) als FormCreate auf das neue Formblatt (wo die Edit-Dinger sind) lege, bekomme ich die Bestimmung der aktuell ausgewählten Zeile des StringGrids (akt_zeile:=ARow) nicht hin. Dann wird immer die 1. Reihe (die ist fest) in die Felder übertragen.
Kann man die Zeile in dem Formblatt auch irgendwie bestimmen? :gruebel:


Danke,

thawka


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:18 Uhr.
Seite 1 von 2  1 2      

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