Přehled vlastností, metod a událostí objektu:
--------------------------------------------------------------
Color (RW) Ctl3D (RW) Cursor (RW)
DataField (RW) DataSource (RW) DropDownCount (RW)
Enabled (RW) Font (RW) Height (RW)
HelpContext (RW) Hint (RW) ItemHeight (RW)
ItemIndex (*RW) Items (RW) Left (RW)
Name (R) ParentColor (RW) ParentCtl3D (RW)
ParentFont (RW) ParentShowHint (RW) PopupMenu (RW)
ReadOnly (RW) SelLength (*RW) SelStart (*RW)
SelText (*RW) ShowHint (RW) Sorted (RW)
Style (RW) TabOrder (RW) TabStop (RW)
Tag (RW) Text (*RW) Top (RW)
Visible (RW) Width (RW)
--------------------------------------------------------------
Clear
--------------------------------------------------------------
OnChange OnClick OnDblClick
OnEnter OnExit OnKeyDown
OnKeyPress OnKeyUp
--------------------------------------------------------------
Legenda: * -> pouze z programu, R -> lze číst, W -> lze zadat
Komponenta DataComboBox má podobnou funkci jako komponenta DataListBox. Může tedy sloužit jako číselník pro zadávání předvolených hodnot. Mimo výběru hodnoty ze seznamu dovoluje také zápis nové hodnoty. Komponentu představuje ComboBox, to je kombinace ListBoxu a komponenty DataEdit. Při procházení databází zobrazuje objekt DataComboBox vždy hodnotu příslušné položky databáze a to i v případě, že není shodná s žádnou z předdefinovaných položek zadaných ve vlastnosti Items.
Předvolené hodnoty mohou být zadány při návrhu aplikace, případně je možné je zadat z programu při vytváření formuláře, případně může být seznam hodnot doplňován kdykoliv z programu.
Zdroj připojených dat je uveden ve vlastnosti DataSource. Udává se zdroj připojené podřízené databáze, ze které se zobrazuje databázová položka. Podřízená položka databáze se zadává ve vlastnosti DataField.
Aktuální zobrazovaný text obsažený v objektu (převzatý z databáze) je dostupný ve vlastnosti text. Změnou vlastnosti však nedosáhnete změny obsahu podřízené databázové položky.
Změnou hodnoty obsažené v objektu DataComboBox nedojde automaticky k uložení zadané hodnoty do databáze. K tomu je nutné buď kliknout na tlačítko Post objektu DataNavigator, případně změnit pozici v databázi přechodem na jiný záznam. Nedoporučuje se používat volání metody Post u události OnChange, protože může dojít ke vzájemnému ovlivňování stavů komponent na formuláři. Místo toho lze použít volání metody Post v události OnExit, to je při změně zaměření objektu DataComboBox.
Seznam položek pro uživatelský výběr je uložen ve vlastnosti Items, kterou představuje proměnná typu StrArray. Uvedený typ proměnné má své vlastní metody pro práci s obsaženým seznamem řetězců. Pro zadání počátečního obsahu můžete použít speciální editor přístupný z okna nastavení objektů, který se aktivuje kliknutím na ikonu se třemi tečkami vpravo od vlastnosti Items.
Jednotlivé položky jsou v seznamu řetězců přístupné svým indexem, to je pořadovým
číslem. Položky jsou číslovány od nuly. První položka v pořadí má proto index nula, pátá
položka má index 4. Pokud potřebujete zjistit obsah položky, musíte zadat její pořadový
index. Obsah první položky proto zobrazíte:
Jazyk KLONDAIK:
ShowMessage(DataComboBox.Items[0]);
Jazyk BONANZA:
ShowMessage(DataComboBox.Items(0))
Podobným způsobem můžete změnit obsah položky, kdy opět zadáváte index položky a
nový obsah. Pro druhou položku v pořadí proto zadáte:
Jazyk KLONDAIK:
DataComboBox.Items[1]:='druhá položka';
Jazyk BONANZA:
DataComboBox.Items(1) = "druhá položka"
Novou položku do seznamu zadáte z aplikace použitím metody Add následujícím způsobem:
Jazyk KLONDAIK:
DataComboBox.Items.Add('aaa');
Jazyk BONANZA:
DataComboBox.Items.Add("aaa")
Pokud potřebujete některou položku ze seznamu zrušit, použijte volání metody Delete
následujícím způsobem:
Jazyk KLONDAIK:
DataComboBox.Items.Delete(2);
Jazyk BONANZA:
DataComboBox.Items.Delete(2)
Potřebujete-li v seznamu vyhledat index položky se zadaným obsahem, použijte funkci IndexOf:
Jazyk KLONDAIK:
ShowMessage(DataComboBox.Items.IndexOf('aaa'));
Jazyk BONANZA:
ShowMessage(DataComboBox.Items.IndexOf("aaa"))
Obsah seznamu můžete uložit na disk do textového souboru, případně načít textový
soubor do seznamu metodami SaveToFile a LoadFromFile:
Jazyk KLONDAIK:
DataComboBox.Items.SaveToFile('seznam.txt');
DataComboBox.Items.LoadFromFile('seznam.txt');
Jazyk BONANZA:
DataComboBox.Items.SaveToFile("seznam.txt")
DataComboBox.Items.LoadFromFile("seznam.txt")
Potřebujete-li projít celý seznam a provést s každou položkou seznamu nějakou akci,
použijte vlastnost Items.Count. Musíte přitom počítat s tím, že se seznam čísluje od nuly,
počet položek seznamu je však uváděn od jedničky. Od seznamu musíte proto v cyklu
jedničku odečíst:
Jazyk KLONDAIK:
for x:= 0 to DataComboBox.Items.Count-1 do
Memo.Lines.Add(DataComboBox.Items[x]);
Jazyk BONANZA:
For x = 0 to DataComboBox.Items.Count-1
Memo.Lines.Add(DataComboBox.Items(x))
Next
Pokud potřebujete seznam seřadit podle abecedy, použijte vlastnost Sorted. Pro kompletní výmaz seznamu použijte metodu Clear.
Vlastnost Style objektu DataComboBox umožňuje zadat formát zobrazení objektu na formuláři, to je zda je seznam rozbalen trvale, případně pouze v případě výběru nové hodnoty.