AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Datensatz in einem DB-Grid markieren

Datensatz in einem DB-Grid markieren

Ein Thema von Ykcim · begonnen am 27. Mär 2017 · letzter Beitrag vom 28. Mär 2017
Antwort Antwort
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.386 Beiträge
 
Delphi 12 Athens
 
#1

AW: Datensatz in einem DB-Grid markieren

  Alt 27. Mär 2017, 17:33
Es gommt auf das Grid drauf an, ob und in welcher Richtung es sich ausrichtet.
Das kann es machen, aber muß es nicht.
Bei einigen Grid-Komponenten ist sowas nicht eingebaut und bei Anderen kann man es (de)aktivieren.

z.B.:
Grid-Selection (OnSelect) => DataSet ausrichten
DataSet-RecordIndex (OnAfterScroll) => Row im Grid selektieren

Und wenn dein Code nichts macht, dann wird er entweder nicht ausgeführt oder das Locate trifft nichts, da diese ID nicht im DataSet vorkommt.


Zitat:
Was dann die OnClick-Prozedur angeht, finde ich es immer seltam,
Jupp, man könnte fast der Vermutung unterliegen, dass OnClickCell falsch ist und jemand eigentlich etwas ala OnSelectionIrgendwas verwenden wollte.
Am Ende kommt noch ein User auf die saudoofe Idee und arbeitet mit den Cursortasten anstatt mit der Maus zu klicken.
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (27. Mär 2017 um 17:35 Uhr)
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#2

AW: Datensatz in einem DB-Grid markieren

  Alt 27. Mär 2017, 18:35
Hallo Zusammen,

die Eigenschaften des Grids RowSelect habe ich aktiviert. Und der Datensatz wird auch in Frame_Kunden1.Grid_Konzern.DataSource.DataSet.Loca te gefunden. Das habe ich geprüft. Aber auf das Grid hat das irgendwie keine Auswirkung. In dem Grid werden alle Datensätze angezeigt und der erste ist selektiert, obwohl das der falsche ist.

Ich kann auch ausschließen, dass die Procedure gar nicht durchlaufen wird, auch das habe ich geprüft. Ich habe wirklich keine Idee, warum der gefundene Datensatz nicht markiert wird.

Was die OnClickCell-Procedure angeht, nehme ich die Anregung gerne an und lagere sie aus und steuere sie mit dem OnSelect Event an.

Vielen Dank
Patrick
Patrick
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#3

AW: Datensatz in einem DB-Grid markieren

  Alt 28. Mär 2017, 08:24
Schau mal bitte, ob Dein DBGrid sowas unterstützt:
DBGrid.SelectedRows.CurrentRowSelected := True;

Das könnte dann in etwa so aussehen:
Delphi-Quellcode:
if Frame_Kunden1.Grid_Konzern.DataSource.DataSet.Locate('konzern_id', MySQL.Query_Standort.FieldByName('konzern_id').AsInteger, []) then begin
   Frame_Kunden1.Grid_Konzern.DataSource.DataSet.SelectedRows.CurrentRowSelected := True;
   Frame_Kunden1.Grid_KonzernClickCell(Frame_Kunden1.Grid_Konzern, MySQL.Query_Konzern.FetchRows, 2);
end;
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.277 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: Datensatz in einem DB-Grid markieren

  Alt 28. Mär 2017, 08:37
Hallo,
mit dem TDBAdvGrid habe ich auch so meine liebe Not gehabt.
Ich habe das jetzt ersetzt durch TAdvStringGrid und mache die DB-Zugriffe selbst.
Heiko
  Mit Zitat antworten Zitat
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#5

AW: Datensatz in einem DB-Grid markieren

  Alt 28. Mär 2017, 11:33
Hallo Zusammen,

soeben gelöst - ich hatte in dem nachfolgenden Procedure-Ablauf noch eine Änderung am DataSet, sodass das Locate überschrieben wurde.

Jetzt passt es.

Vielen Dank

P.S.: Die OnCellClick wurde in ein OnSelectedCell und der Inhalt in eine separate Procedure ausgelagert.
Patrick
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:56 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