AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Tabulatorweiterschaltung auf DBCtrlGrid / Hilfe !!!!!
Thema durchsuchen
Ansicht
Themen-Optionen

Tabulatorweiterschaltung auf DBCtrlGrid / Hilfe !!!!!

Ein Thema von CompData · begonnen am 25. Jul 2002 · letzter Beitrag vom 25. Jul 2002
Antwort Antwort
CompData

Registriert seit: 22. Jul 2002
3 Beiträge
 
#1

Tabulatorweiterschaltung auf DBCtrlGrid / Hilfe !!!!!

  Alt 25. Jul 2002, 15:43
Programmierung mittels Delphi 5 unter Windows 2000, Paradox 7 - Tabellen

Problem beim Erstellen von Angebots-/Rechnungsbelegen in unserem Programm:

Die Belege werden in 2 Tabellen gespeichert: eine Tabelle enthält die Belegkopfdaten, die zweite die Positionsdaten. Zum Erfassen der Positionsdaten existiert ein Formular, welches ein DBCtrlGrid enthält. Auf diesem DBCtrlGrid sind mehrere DBEDIT angeordnet, um Mengen, Preise, Positionstexte usw. zu erfassen. An jedes DBEdit ist eine OnExit-Prozedur angebunden. In dieser Prozedur wird nach Verlassen des Eingabefeldes die Gesamtbelegsumme Netto/Brutto über alle Positionen neu berechnet
und in der Tabelle mit den Belegkopfdaten gespeichert. Eine Tabulatorreihenfolge für die DBEdit-Felder wurde festgelegt. Wenn nun der Cursor mittels Tabulatortaste in das nächste Eingabefeld bewegt werden soll, kommt es zu Problemen. Erfolgte KEINE neue
Eingabe in das DBEdit, funktioniert das Weiterschalten ganz normal. Trage ich aber einen neuen Wert in ein DBEdit ein und drücke dann die Tabulatortaste, ist der Cursor erstmal garnicht mehr sichtbar. Nach erneutem Druck auf die Tabulatortaste erscheint er wieder,
dann aber im übernächsten Eingabefeld. In dem Moment, in dem der Cursor nicht mehr sichtbar ist, kann ich sogar Eingaben über die Tastatur vornahmen, sie werden sogar im richtigen Eingabefeld angezeigt (obwohl kein Cursor darin steht). Wechsele ich aber zu einem anderen Datensatz oder schliesse ich ein Eingabefeld mit der ENTER-Taste ab, so sind diese Änderungen wieder verschwunden, werden also nicht abgespeichert.
Ich habe schon diverse Versuche unternommen, das Problem zu lösen. habe mir beim Start der OnExit-Prozedur das aktive Steuerelement gemerkt und versucht, es nach Abschluss der Prozedur mittels SetFocus, FocusControl o.ä. wieder herzustellen. Der Effekt ist der gleiche wie oben beschrieben. Habe auch Teile der OnExit-Prozedur auskommentiert, um die Quelle des Problemes zu finden. Der Fehler tritt demnach immer dann auf, wenn ich in der Positionstabelle scrolle oder in die Positions- oder Kopftabelle schreibe (wobei die Kopftabelle in diesem Formular garnicht genutzt wird). Habe auch versucht, die DBEdit-Felder direkt auf dem Formular anzuordnen (ohne DBCtrlGrid) und die OnExit-Prozeduren beizubehalten. In diesem Fall gibt es keine Probleme, das Weiterschalten klappt einwandfrei.

Bin für jede Hilfe DANKBAR !!!!
  Mit Zitat antworten Zitat
Benutzerbild von MrSpock
MrSpock
(Co-Admin)

Registriert seit: 7. Jun 2002
Ort: Owingen
5.865 Beiträge
 
Delphi 2010 Professional
 
#2
  Alt 25. Jul 2002, 19:01
Hallo CompData,

poste doch bitte mal den Code der OnExit Methode.
Albert
Live long and prosper


MrSpock
  Mit Zitat antworten Zitat
Antwort Antwort


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 14:24 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