AGB  ·  Datenschutz  ·  Impressum  







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

DBGrid/DBEdit

Ein Thema von ShortyHL · begonnen am 27. Feb 2008 · letzter Beitrag vom 27. Feb 2008
Antwort Antwort
Seite 1 von 2  1 2      
ShortyHL

Registriert seit: 27. Feb 2008
Ort: Lübeck
29 Beiträge
 
Delphi 6 Enterprise
 
#1

DBGrid/DBEdit

  Alt 27. Feb 2008, 12:33
Datenbank: Table (Datenbankoberfläche) • Zugriff über: BDE (Table) / DataSource
Guten Tag,

ich versuche mich seit Tagen an der eigenen Programmierung der Verwaltung von Datensätzen (Hinzufügen, Editieren, Löschen).

Zu meinem Problem:

Ich habe ein DBGridfeld und zu jedem Spaltennamen dazugehörige DBEditfelder (für die spätere Ausgabe des selektierten Datensatzes).
Ich möchte nun einen Datensatz (mit der Maus) selektieren und über einen Button (BitBtn) diesen selektierten Datensatz in die DBEditfelder einfügen.

Die Funktionsweise ist ja auch schon gegeben, und zwar, wenn man den Datensatz selektiert, werden die DBEditfelder automatisch schon neu gefüllt, aber ich möchte eben genau diese Funktionsweise über den BitBtn regeln.

Hat jemand von euch eine Idee?

Danke schonmal im Voraus für jegliche Hilfe

Mit freundlichen Grüßen
ShortyHL
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: DBGrid/DBEdit

  Alt 27. Feb 2008, 12:37
Verbinde die Felder bei Bestätigen des Buttons mit dem DataSet
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: DBGrid/DBEdit

  Alt 27. Feb 2008, 12:40
Hallo ShortyHL,

herzlich willkommen erst mal

Die DBEdit´s zeigen immer den aktuellen Datensatzinhalt an. Das macht ja auch Sinn.
Wenn Du im DBGrid durch die Datensätze scrollst (Müller, Meier, Schulze) wäre es ja verwirrend, wenn der Nutzer in dem benachbarten DBEdit immer noch "Müller" sieht...

Due könntest aber die DBEdits z.B. auf ein gesondertes Formular setzen und dieses erst bei Bedarf über einen BitBtn öffnen. Dann sieht der Nutzer die Eingabefelder erst, wenn er sie braucht.

Oder habe ich das falsch verstanden?

stahli
  Mit Zitat antworten Zitat
ShortyHL

Registriert seit: 27. Feb 2008
Ort: Lübeck
29 Beiträge
 
Delphi 6 Enterprise
 
#4

Re: DBGrid/DBEdit

  Alt 27. Feb 2008, 12:45
Genauso handhabe ich es zurzeit auch .

Im ersten Formular sind die DBEditfelder und wenn der Button geklickt wurde, um einen Datensatz zu laden, wird das erste Formular auf "hidden" gesetzt und das zweite Formular auf "visible". Im zweiten Formular kann man nun über ein DBGrid einen Datensatz auswählen und dann sollte man über einen Button "laden" diesen Datensatz in die DBEditfelder aus dem ersten Formular einfügen, gleichzeitig wird dann das zweite Formular versteckt und das erste Formular wieder angezeigt.


Zu mkinzler:

D.h. eine Zuweisung?

Form1.DBEdit1.Text := Form2.DataSource1.DataSet.[und wie gehts weiter?];
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: DBGrid/DBEdit

  Alt 27. Feb 2008, 12:51
Form1.DBEdit1.DataSource := Form2.DataSource1; Und danach .DataSource wieder auf Nil setzen.
Markus Kinzler
  Mit Zitat antworten Zitat
ShortyHL

Registriert seit: 27. Feb 2008
Ort: Lübeck
29 Beiträge
 
Delphi 6 Enterprise
 
#6

Re: DBGrid/DBEdit

  Alt 27. Feb 2008, 13:03
Hui, dass es dann sooo einfach geht, hätte ich nicht gedacht . Vielen Dank dafür.

Gibt es auch eine Möglichkeit, ein DBEditfeld vorher zu füllen?

Wollte nämlich beim erstellen eines neuen Datensatzes ein Datum einfügen im Format "Datum Zeit".

Wenn ich nun über "Form1.DBEdit10.DataSource := DateTimeToStr(Date());" versuche das Datum automatisch einzufügen, erhalte ich eine Fehlermeldung, dass "TDataSource und String" inkompatible Typen sind.
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: DBGrid/DBEdit

  Alt 27. Feb 2008, 13:15
Du kannst ganz normal das Feld füllen. Die Eigenschaft im TDbedit heißt DataField. Also z.B. (aber ich finds nicht schön):
Form1.DBEdit10.DataSource.DataSet.FieldByName('Datum').AsDateTime := Now;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#8

Re: DBGrid/DBEdit

  Alt 27. Feb 2008, 13:37
@ShortHL: du machst das viel zu kompliziert und schränkst den Benutzer unnötig ein.
Gib dem Benutzer doch einfach 2 Ansichten der gleichen Datenmenge - einmal als Liste und einmal als Details.
Du brauchst so nicht einmal etwas programmieren, sondern nur ein Pagecontrol mit 2 Seiten auf Formular setzen.
Auf der 1. Seite ist die Liste (DBGrid), auf der 2. Seite sind die einzelnen DBEdit-Felder.
Siehe Anhang.
Miniaturansicht angehängter Grafiken
db_liste_detail_304.gif  
Andreas
  Mit Zitat antworten Zitat
ShortyHL

Registriert seit: 27. Feb 2008
Ort: Lübeck
29 Beiträge
 
Delphi 6 Enterprise
 
#9

Re: DBGrid/DBEdit

  Alt 27. Feb 2008, 16:15
@shmia:

Sicherlich hätte ich es auch über ein DBNavigator machen können, aber wollte dem Kunden die Bedienung noch einwenig vereinfachern und ebenfalls auch mit grafischen Buttons arbeiten.

@Union: Vielen Dank für den Lösungsvorschlag: Klappt super.



Gibt es noch die Möglichkeit, DBEditfelder mit einem numerischen Feldtyp "links" auszurichten? Die Feldwertausrichtung ist bei der "Ansicht" rechtsbündig und sobald ich ins das Feld klicke, wird sie automatisch links ausgerichtet. Kann man es standardmäßig immer links ausrichten lassen?
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#10

Re: DBGrid/DBEdit

  Alt 27. Feb 2008, 16:34
Zitat von ShortyHL:
Gibt es noch die Möglichkeit, DBEditfelder mit einem numerischen Feldtyp "links" auszurichten? Die Feldwertausrichtung ist bei der "Ansicht" rechtsbündig und sobald ich ins das Feld klicke, wird sie automatisch links ausgerichtet. Kann man es standardmäßig immer links ausrichten lassen?
Dein Dataset enthält eine Fields-Liste. Dort kannst du so Sachen einstellen. Dürfte Allign heissen, wenn mich nicht alles täuscht.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 19:45 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