AGB  ·  Datenschutz  ·  Impressum  







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

Combobox ItemIndex und LiveBinding

Ein Thema von RWarnecke · begonnen am 27. Okt 2012 · letzter Beitrag vom 28. Okt 2012
Antwort Antwort
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

Combobox ItemIndex und LiveBinding

  Alt 27. Okt 2012, 19:22
Hallo zusammen,

ich habe auf einem Formular mehrere Comboboxen. Den ItemIndex-Wert speichern über das LiveBinding funktioniert wunderbar. Nur leider wird bei einem neuen Datensatz immer die erste Position der Combobox angezeigt, soll heißen im ComboxBox.Text steht der erste Wert aus der Auswahlliste, wie kann ich das verhindern ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Combobox ItemIndex und LiveBinding

  Alt 27. Okt 2012, 20:39
Die Daten kommen ja initial aus einer Instanz bzw. eier Property aus derselben.
Und für den ItemIndex brauchst du für die Property einen Integer.

Und was hat ein Integer für einen Default Wert?
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#3

AW: Combobox ItemIndex und LiveBinding

  Alt 27. Okt 2012, 21:16
Die Daten kommen ja initial aus einer Instanz bzw. eier Property aus derselben.
Und für den ItemIndex brauchst du für die Property einen Integer.

Und was hat ein Integer für einen Default Wert?
Stimmt, da gebe ich Dir recht. Das Thema mit dem Default-Wert.

Habe ich denn noch eine andere Möglichkeit nur den ItemIndex-Wert in der Datenbank über das Binding zu speichern ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Combobox ItemIndex und LiveBinding

  Alt 27. Okt 2012, 21:50
Äh, das verstehe ich jetzt nicht. Der Wert wird doch gespeichert ... und wenn du das nicht haben willst, dann gib als Default-Wert eine -1. Oder pack als ersten Eintrag einen Dummy-Wert (bitte auswählen) rein.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: Combobox ItemIndex und LiveBinding

  Alt 27. Okt 2012, 22:34
Ich vermute es geht in Richtung DBLookupComboBox ...?
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#6

AW: Combobox ItemIndex und LiveBinding

  Alt 27. Okt 2012, 22:51
Ja, sowas in der Richtung versuche ich da nachzubilden. Mit einer TBindList befülle ich die Items der Combobox und mit einem TBindLink versuche ich den ausgewählten Wert (ItemIndex) zu speichern. Ist mein Denkansatz vielleicht falsch ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: Combobox ItemIndex und LiveBinding

  Alt 27. Okt 2012, 23:13
Grundlegend erstmal nicht, nur kannst du NULL Werte nicht einfach so abbilden.
Liegt einfach daran, dass normale Datentypen immer einen Wert haben.

Man muss da wohl umdenken, weg von "Wie stelle ich den Inhalt der DB dar" und hin zu "Wie stelle ich meine Objekte in der DB ab"
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#8

AW: Combobox ItemIndex und LiveBinding

  Alt 28. Okt 2012, 09:06
Ich probiere gerade ein bisschen an der Combobox rum. Dabei habe ich ganz nette Sachen festgestellt. Wenn ich die die TBindList wie folgt einstelle :
Delphi-Quellcode:
    object BindList_Coaches: TBindList
      Category = 'Lists'
      ControlComponent = AdvCB_ClientInternalCare
      SourceComponent = BindScopeDB_Coaches
      FormatExpressions = <>
      FormatControlExpressions = <
        item
          ControlExpression = 'Text'
          SourceExpression = 'Firstname.AsString + '#39' '#39' + LastName.AsString'
        end>
      ClearControlExpressions = <>
    end
Dann werden mir drei leere Zeilen als Auswahl in der Combobox angezeigt. Schreibe ich jetzt die gleiche ControlExpression und SourceExpression bei FormatExpression rein und lösche komplett die FormatControlExpression, dann werden mir alle Einträge richtig angezeigt und der erste Eintrag ausgewählt.
Wenn ich in beiden FormatExpressions das gleiche reinschreibe hat es den gleichen Effekt als wenn ich es nur in FormatExpression reinschreibe.

Edit:
So, ich habe das Problem mit dem Null Wert beim Hinzufügen eines neuen Datensatzes gelöst. Ich prüfe in dem Ereignis OnAssignedValue des BindLinks auf die ComboBox den Status vom Dataset. Ist das DataSet im Status dsInsert, wird der ItemIndex der Combobox auf -1 gesetzt. Ist der Status <> dsInsert, dann wird der Wert aus der Datenbank gesetzt.
Rolf Warnecke
App4Mission

Geändert von RWarnecke (28. Okt 2012 um 09:50 Uhr)
  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 07:13 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