![]() |
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 |
AW: Suchdialog in DBGrid öffnen
Wäre es nicht einfacher, diese Suche direkt im Grid (LookUp) zu implementieren?
|
AW: Suchdialog in DBGrid öffnen
Weiß ich nicht, da ich LookUp nicht kenne, ich les mich da jetzt aber mal rein
|
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] |
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; |
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 ? |
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; |
AW: Suchdialog in DBGrid öffnen
Okay, das habe ich jetzt soweit übernommen, allerdings bekomme ich für das
Delphi-Quellcode:
eine Fehlermeldung, da "Post" nicht in TDataSource enthalten ist.
DBGrid1.DataSource.Post;
|
AW: Suchdialog in DBGrid öffnen
Dann versuch mal
Delphi-Quellcode:
DBGrid1.DataSource.Dataset.Post;
|
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:
schreiben.
Table1.Edit;
... Table1.Post; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 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 by Thomas Breitkreuz