Einzelnen Beitrag anzeigen

MiniMatrix

Registriert seit: 5. Feb 2010
16 Beiträge
 
#1

TComboBox mit Aliaswerten

  Alt 31. Jul 2014, 10:51
Ich hätt da maln Problem...

Wenn man mit einer ComboBox (Stringlisten) arbeitet, so hat man meiner Meinung nach den unschönen Zustand, das als Selektionsergebnis (kein Multiselekt) quasi nur die Eigenschaft "Text" oder ItemIndex zur Verfügung steht. Insbesondere ItemIndex ist sehr unschön, da es den Index des Eintrages liefert. Dies ist solange kein wirkliches Problem, solange man die Liste am Ende um neue Werte ergänzt. Aber spätestens, wenn der Anwender die Liste sortiert haben möchte, und man den Index gespeichert hat, hat man ein ernstes Problem. Speichert man hingegen den Text selbst und nicht den Index, so bekommt man schnell beim Thema "Mehrsprachigkeit" wiederum ein ernstes Problem.
Viel sinniger wäre in meinen Augen, die Werteliste mit Aliaswerten anzureichern, die nicht den Index wiederspiegeln.
Also statt:

"Banane" 0
"Apfel" 1
"Kirsche" 2
"Erdbeere" 3

besser:
"Banane" "0"
"Apfel" "1"
"Kirsche" "2"
"Erdbeere" "3"

Items:
"Banane=0"
"Apfel=1"
"Kirsche=2"
"Erdbeere=3"

Die Eigneschaft "Text" würde bei gewähltem Eintrag "Apfel" auch "Apfel" lauten, und ItemIndex 1, die (fehlende) Eigenschaft TextAlias oder ItemAlias müsste "1" liefern. Und wenn man diese Eigenschaft setzt, müsste die Komponente den entsprechenden Wert auch als ausgewählt anzeigen (Eigenschaften Text und ItemIndex müssen entsprechend gesetzt werden).

Kennt jemand eine Combobox Komponente, die genau so was kann?
Oder hat jemand eine Idee, wie man dies auf Basis der Delphi Standardkomponenten bauen könnte?
  Mit Zitat antworten Zitat