Přehled vlastností, metod a událostí objektu:
--------------------------------------------------------------
Align (RW) BorderStyle (RW) Color (RW)
Ctl3D (RW) Cursor (RW) DataField (RW)
DataSource (RW) Enabled (RW) Font (RW)
Height (RW) HelpContext (RW) Hint (RW)
IntegralHeight (RW) ItemHeight (RW) ItemIndex (*RW)
Items (RW) Left (RW) Name (R)
ParentColor (RW) ParentCtl3D (RW) ParentFont (RW)
ParentShowHint (RW) PopupMenu (RW) ReadOnly (RW)
ShowHint (RW) Style (RW) TabOrder (RW)
TabStop (RW) Tag (RW) Top (RW)
Visible (RW) Width (RW)
--------------------------------------------------------------
Clear
--------------------------------------------------------------
OnClick OnDblClick OnEnter
OnExit OnKeyDown OnKeyPress
OnKeyUp OnMouseDown OnMouseMove
OnMouseUp
--------------------------------------------------------------
Legenda: * -> pouze z programu, R -> lze číst, W -> lze zadat
Komponenta DataListBox se používá pro výběr jedné z předdefinovaných hodnot, které jsou zobrazeny v seznamu typu ListBox. Typické použití je například pro výběr dle číselníku, ve kterém se uživateli zobrazují slovní popisy. Při procházení databáze je vždy zvýrazněn řádek seznamu, který odpovídá podřízené položce databáze.
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.
Uživatelskou změnou zvýrazněné hodnoty v seznamu (kliknutím) nedojde automaticky k uložení zadané hodnoty do databáze. K tomu je nutné buď kliknout na tlačítko Post objektu DataNavigator, případně použít volání metody Post v události OnExit, to je při změně zaměření objektu DataListBox.
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(DataListBox.Items[0]);
Jazyk BONANZA:
ShowMessage(DataListBox.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:
DataListBox.Items[1]:='druhá položka';
Jazyk BONANZA:
DataListBox.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:
DataListBox.Items.Add('aaa');
Jazyk BONANZA:
DataListBox.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:
DataListBox.Items.Delete(2);
Jazyk BONANZA:
DataListBox.Items.Delete(2)
Potřebujete-li v seznamu vyhledat index položky se zadaným obsahem, použijte funkci IndexOf:
Jazyk KLONDAIK:
ShowMessage(DataListBox.Items.IndexOf('aaa'));
Jazyk BONANZA:
ShowMessage(DataListBox.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:
DataListBox.Items.SaveToFile('seznam.txt');
DataListBox.Items.LoadFromFile('seznam.txt');
Jazyk BONANZA:
DataListBox.Items.SaveToFile("seznam.txt")
DataListBox.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 vlastnosti 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 DataListBox.Items.Count-1 do
Memo.Lines.Add(DataListBox.Items[x]);
Jazyk BONANZA:
For x = 0 to DataListBox.Items.Count-1
Memo.Lines.Add(DataListBox.Items(x))
Next
Pokud potřebujete seznam seřadit podle abecedy, použijte vlastnost Sorted. Pro kompletní výmaz seznamu použijte metodu Clear.