Autor Beitrag
hansa
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Do 27.02.03 19:52 
Hi,

wie kriege ich einen bestimmten Text als Vorgabe in das Eingabefeld einer DBcomboBox ?

ausblenden Quelltext
1:
2:
3:
4:
st := IntToStr (DS.FieldByName('NR').value)+
           DS.FieldByName('TYP').value+
           DS.FieldByName('BEZ').value;
cboDS.Text := st;

Mache ich das so, kommt die Fehlermeldung :" Cannot assign to read/only property ". In der aufgeklappten Box steht NR, TYP und BEZ richtig drin, in der Box aber nicht in dem Eingabefeld! Wie kann man das machen ? Es geht darum, wie ich 3 Felder aus der DB zusammen in eine Zeile rein kriege, die bei der nicht aufgeklappten Box zu sehen ist.

_________________
Gruß
Hansa
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Do 27.02.03 20:08 
Titel: verry simple
Du musst das zugrunde liegende Feld verändern!

Beispiel du hast 3 Felder in deiner Tabelle
erstelle ein viertes berechnetes Feld.
In der Tabelle Definierst du via OnCalcFields() den Wert dieses vierten Feldes:
...
Feld4.Value:= Feld1.Value+Feld2.Value+...
...
Anschließend verbindest du deine Combobox mit diesem Feld.
Fertig.
MFG
MSCH
hansa Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Do 27.02.03 20:20 
Sowas habe ich schon befürchtet. Was ich aber nicht verstehe : die aufgeklappte Box zeigt die drei Felder in einer Zeile an. Nur das Eingabefeld eben nicht, da steht nur die NR. Was hat denn das mit dem Read/Only eigentlich auf sich ? DBcomboBox.Text ist vom Typ Tcaption ( Type string). Bei einer normalen Combo ist Text vom Typ string, wo ist denn da der Unterschied? Auf Umwegen habe ich das mit einer normalen Combo jetzt hingekriegt, ist aber sehr mühsam.

_________________
Gruß
Hansa
MSCH
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1448
Erhaltene Danke: 3

W7 64
XE2, SQL, DevExpress, DevArt, Oracle, SQLServer
BeitragVerfasst: Do 27.02.03 20:33 
Titel: Re
eine DBCombobox ist etwas anders intern gestrickt als eine normale Combobox. Erstens liegt ein Datenbankfeld zugrunde und man kann nur bestimmte auswählen. Einfach den Caption ändern bringt eh nichts, weil er es nicht in die DB zurückschreiben kann. Er zeigts im günstigsten Falle nur an. (Denk mal an die DB-Funktionen Post/edit u.s.w.)
Aber es ist doch viel einfacher ein berechnetes Feld zu definieren als solche Handstände?
MFG
MSCH
hansa Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3079
Erhaltene Danke: 9



BeitragVerfasst: Do 27.02.03 20:46 
das ganze dient ja nur für Anzeige/Auswahlzwecke. In die Table soll nur die zugrundeliegende ID der DataSource - Table eingetragen werden. Wenn ich die richtige Zeile in der Box anklicke, steht der richtige Wert im Eingabefeld der Box. Aber nur mit der Nr. alleine klappt es. Will ich noch den Typ und die Bez. da unterbringen, ja dann krachts. Bei Listfield steht im OI NR;TYP;BEZ und so steht es auch in jeder Zeile der Box. Die Strichpunkte sind da die Feldtrennzeichen, das hat sich anscheinend noch nicht sehr herumgesprochen.

_________________
Gruß
Hansa