Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Suchdialog in DBGrid öffnen (https://www.delphipraxis.net/194284-suchdialog-dbgrid-oeffnen.html)

Luca Haas 6. Nov 2017 10:23

Suchdialog in DBGrid öffnen
 
Hi Leute, ich habe ein DBGrid in der man einen Mitarbeiter, sowie seine ID und seine Arbeitsgruppe eintragen kann/muss/soll.
Hierfür habe ich einen Suchdialog geschrieben, wo man sich den Mitarbeiter raussuchen kann. Allerdings weiß ich nicht, wie ich über meinen Suchdialog, in die bestimmte Zeile meines DBGrids eintragen kann.
Ich bin mir nicht sicher, ob man das eventuell mit einem Button (oder ähnlichem) in der jeweiligen Zeile schaffen kann und bräuchte dabei ein wenig Hilfe von euch

mkinzler 6. Nov 2017 10:31

AW: Suchdialog in DBGrid öffnen
 
Wäre es nicht einfacher, diese Suche direkt im Grid (LookUp) zu implementieren?

Luca Haas 6. Nov 2017 10:32

AW: Suchdialog in DBGrid öffnen
 
Weiß ich nicht, da ich LookUp nicht kenne, ich les mich da jetzt aber mal rein

Luca Haas 6. Nov 2017 10:49

AW: Suchdialog in DBGrid öffnen
 
Also ich versteh dieses LookUp irgendwie nicht :wall:
Aber ich denke wenn ich in eine Spalte des DBGrids einen Button oder ähnliches einbaue, sollte das doch dann auch über mein Suchfenster funktionieren
Allerdings weiß ich nicht wie man das machen, bzw ob das überhaupt funktioniert

[Edit]Könnte man das ganze nicht auch mit einem OnCellClick machen ?[/Edit]

nahpets 6. Nov 2017 11:24

AW: Suchdialog in DBGrid öffnen
 
Ja, beim OnCellClick bekommst Du die passende Zelle in Column mitgeteilt.

Ungefähr sowas:
Delphi-Quellcode:
procedure TfmMain.DBGrid1CellClick(Column: TColumn);
begin
  DBGrid1.DataSource.Edit;
  Column.Field.AsString := ErgebnisDesSuchdialoges; // Wenn's 'ne ID ist halt .AsInteger ...
  DBGrid1.DataSource.Post;
end;

Luca Haas 6. Nov 2017 11:30

AW: Suchdialog in DBGrid öffnen
 
Danke schonmal nahpets, kann man auch sofort mehrere Cells mit einer Suche eintragen ?
Also wenn ich Vorname:Angela Nachname:Merkel Kürzel:AM auswähle sofort in alle drei Spalten eingetragen wird ?

mkinzler 6. Nov 2017 11:34

AW: Suchdialog in DBGrid öffnen
 
Der markierte datensatz ist der aktive Datensatz der Datenmenge.
Delphi-Quellcode:
procedure TfmMain.DBGrid1CellClick(Column: TColumn);
begin
  DBGrid1.DataSourcetb.Edit;
  <DS>.FieldByName('name').Value := ...
  ...
  DBGrid1.DataSource.Post;
end;

Luca Haas 6. Nov 2017 11:49

AW: Suchdialog in DBGrid öffnen
 
Okay, das habe ich jetzt soweit übernommen, allerdings bekomme ich für das
Delphi-Quellcode:
DBGrid1.DataSource.Post;
eine Fehlermeldung, da "Post" nicht in TDataSource enthalten ist.

DeddyH 6. Nov 2017 11:54

AW: Suchdialog in DBGrid öffnen
 
Dann versuch mal
Delphi-Quellcode:
DBGrid1.DataSource.Dataset.Post;

nahpets 6. Nov 2017 11:58

AW: Suchdialog in DBGrid öffnen
 
Sorry, Schreibfehler:
Delphi-Quellcode:
DBGrid1.DataSource.DataSet.Post

Kannst natürlich auch da direkt den Namen Deiner Datenbankkomponente hinschreiben, also das, was im TDataSource zum DBGrid in DataSet steht.

Wenn da z. B. Table1 drinne steht, kannst Du im Queltttext
Delphi-Quellcode:
Table1.Edit;
...
Table1.Post;
schreiben.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:22 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