AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

StringGrid Zeile per Mausclick auslesen

Ein Thema von klausmaus · begonnen am 27. Sep 2008 · letzter Beitrag vom 10. Okt 2008
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
klausmaus

Registriert seit: 18. Sep 2008
17 Beiträge
 
#1

StringGrid Zeile per Mausclick auslesen

  Alt 27. Sep 2008, 09:56
Hallo Leute,

bin ein Newbie und habe folg. Problem:
Über Editfelder werden Daten in ein StringGrid eingelesen, gespeichert und sortiert. Habe auch `ne Suche, die gewünschte Datensätze in den Editfeldern ausgibt.
Möchte nun zusätzlich, dass beim anklicken einer Zeile die Editfelder mit den entsprechenden Daten gefüllt werden. Wie krieg ich das hin? (Options.goRowSelect ist true)
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.754 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: StringGrid Zeile per Mausclick auslesen

  Alt 27. Sep 2008, 10:57
Hallo,

du könntest mit dem Event/Ereignis OnSelectCell arbeiten:

Delphi-Quellcode:
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
  ARow: Integer; var CanSelect: Boolean);
begin

end;
Dort wird dir die markierte Zeile und Spalte übergeben.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
klausmaus

Registriert seit: 18. Sep 2008
17 Beiträge
 
#3

Re: StringGrid Zeile per Mausclick auslesen

  Alt 27. Sep 2008, 11:12
Danke für den Tipp,

komme heute leider nicht mehr dazu, es auszuprobieren. Melde mich morgen wieder mit dem Ergebnis.

Schönes WE
  Mit Zitat antworten Zitat
klausmaus

Registriert seit: 18. Sep 2008
17 Beiträge
 
#4

Re: StringGrid Zeile per Mausclick auslesen

  Alt 28. Sep 2008, 15:20
Nach reichlich Bastelei bin jetzt soweit, das was ausgegeben wird.
Aber: wg. zeileARow:=Filepos(ChemDat)+1; wird immer der erste Datensatz ausgegeben.
Wie krieg ich den aktuellen (angeklickten) Datensatz?
Hier der Code
Delphi-Quellcode:
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol, ARow: Integer;
  var CanSelect: Boolean);
  begin
  If CanSelect=True then
    seek(ChemDat,0);
      with Chem do
        ARow:=Filepos(ChemDat)+1;
        begin
          read(ChemDat,Chem);
          EditNr.Text:=(StringGrid1.Cells[1,ARow]);
          EditName.Text:=StringGrid1.Cells[2,ARow];
          DateTimePicker1.Date:=StrToDate(StringGrid1.Cells[4,ARow]);
        end;
  end;
Wäre prima, wenn jemand `nen Tipp hätte.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: StringGrid Zeile per Mausclick auslesen

  Alt 28. Sep 2008, 15:22
Zitat:
ARow:=Filepos(ChemDat)+1;
Du willst ARow setzen statt es auszuwerten?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
klausmaus

Registriert seit: 18. Sep 2008
17 Beiträge
 
#6

Re: StringGrid Zeile per Mausclick auslesen

  Alt 28. Sep 2008, 15:35
Oh Mann was bin ich doof.
Zeile entfernt und schon klappt es.

Besten Dank

BTW
Möchte den in den Edit-Feldern angezeigten Datensatz im StringGrid löschen. Wie stelle ich das an?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: StringGrid Zeile per Mausclick auslesen

  Alt 28. Sep 2008, 15:41
Spontan würde ich sagen:
- StringGrid zeilenweise durchlaufen und Inhalte vergleichen
- wenn gefunden, dann nachfolgende Zeilen aufrücken lassen
und RowCount neu setzen
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
klausmaus

Registriert seit: 18. Sep 2008
17 Beiträge
 
#8

Re: StringGrid Zeile per Mausclick auslesen

  Alt 28. Sep 2008, 15:48
Ein Datenvergleich ist m.E. nicht nötig. Habe die Daten im Edit. Demzufolge müsste der Zeiger doch auf diesen bzw. den nächsten Datensatz zeigen.
Ergo: Filepos irgendwie auswerten und anschließend RowCount um 1 zuurücksetzen und dann das Grid neu einlesen.
Soweit meine Idee.
Aber mit der Umsetzung haperts.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.537 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: StringGrid Zeile per Mausclick auslesen

  Alt 28. Sep 2008, 15:55
Nochmal zum Verständnis: wenn Du eine Zelle im StringGrid anklickst, werden dessen Daten in den Edits angezeigt?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
klausmaus

Registriert seit: 18. Sep 2008
17 Beiträge
 
#10

Re: StringGrid Zeile per Mausclick auslesen

  Alt 28. Sep 2008, 16:04
Habs nochmal gecheckt. Egal, welche Zelle ich anklicke, der entsprechende Datensatz wird in den Edits gezeigt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:12 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