Autor Beitrag
Josef-B
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 293

2003 Server, Win7, Win8
Delphi 2010 Pro, Firebird 2.5
BeitragVerfasst: Sa 03.05.03 14:49 
Ich habe ein DB Grid zur Auswahl von Kunden für eine Auftragsverwaltung. Es soll ein Kunde ausgewählt werden und in den
Auftrag übernommen werden.

Wenn ich zuerst auf das obere linke Feld (Kunden-Nummer) klicke. passiert nichts. Auf irgendein anderes Feld geklickt und der Rechner übernimmt den Wert in label1.caption.
Wenn ich dann wieder auf das erste Feld klicke übernimmt er den Wert dann auch. Woran kann das liegen?

Anbei mein Quelltext, wobei ich gar nicht weiß, ob der da was mit zu hat.

ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
procedure Tfaufspedkdsuch.DBGrid1CellClick(Column: TColumn);
begin
label2.caption := dbgrid1.selectedfield.asstring;
end;

procedure Tfaufspedkdsuch.FormActivate(Sender: TObject);
begin

ibdataset1.active := false;
ibdataset1.SelectSQL.Text :='SELECT * from kunden where name_1 like '
+QuotedStr('%'+a+'%');
ibdataset1.active := true;

end;


Moderiert von user profile iconUGrohne: Code-Tags eingefügt
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Sa 03.05.03 14:56 
Josef-B hat folgendes geschrieben:

Wenn ich zuerst auf das obere linke Feld (Kunden-Nummer) klicke. passiert nichts. Auf irgendein anderes Feld geklickt und der Rechner übernimmt den Wert in label1.caption.
Wenn ich dann wieder auf das erste Feld klicke übernimmt er den Wert dann auch. Woran kann das liegen?


Ich hab das komische Gefühl, ich verstehe nicht, was Du meinst. Oben hast Du ja die Titelleiste, ist klar, dass er da nix übernimmt, weil das das Ereignis nicht auslöst.

Und die 2 Sätze danach versteh ich überhaupt nicht. Du klickst auf ein anderes Feld und er übernimmt den Wert dann ok.... aber wieso übernimmt er ihn dann erst wenn Du wieder auf den Titel klickst? :?:

Bitte um weitere Aufklärung... oder versteh ichs falsch?
Josef-B Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 293

2003 Server, Win7, Win8
Delphi 2010 Pro, Firebird 2.5
BeitragVerfasst: Sa 03.05.03 15:50 
Hallo Ugrohne,

die Titel meine ich nicht.

Es geht um die reinen Datenfelder.

Das sieht ungefähr so aus:

Konto Name Strasse
1 Müller1 ... Str.
2 Müller 2 .... Str.

Klicke ich auf zuerst auf die '1' übernimmt er den Wert nicht ins Label.
Klicke ich dann auf irgendein anderes Datenfeld nimmt er den Wert.
Danach übernimmt er auch bei erneutem Klick auf die '1' eben diesen Wert.
UGrohne
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Veteran
Beiträge: 5502
Erhaltene Danke: 220

Windows 8 , Server 2012
D7 Pro, VS.NET 2012 (C#)
BeitragVerfasst: Sa 03.05.03 16:07 
Du willst doch nur die Kundennummer übernehmen, richtig? Aus dem DBGrid die Daten zu holen, erscheint mir nicht ganz sinnvoll, da das Teil ja nur die Daten anzeigt, also eine datensensitive Komponente ist.

Dann würde ich Dir empfehlen, das ganze aus dem Query zu holen, über
ausblenden Quelltext
1:
label2.caption:=ibquery1.fieldbyname('KNR').AsString;					


Das funktioniert bei mir immer. Alternativ versuch mal aus der Variable Column des Ereignisses was rauszuholen, vielleicht in Verbindung mit dem Query. Weiß grad net, was TColumn alles an Eigenschaften hat.

Viel Glück