Přehled vlastností, metod a událostí objektu:
--------------------------------------------------------------
Align (RW) Caption (RW) Color (RW)
Columns (RW) Ctl3D (RW) Cursor (RW)
DataField (RW) DataSource (RW) Enabled (RW)
Font (RW) Height (RW) HelpContext (RW)
Hint (RW) ItemIndex (*RW) Items (RW)
Left (RW) Name (R) ParentColor (RW)
ParentCtl3D (RW) ParentFont (RW) ParentShowHint (RW)
PopupMenu (RW) ReadOnly (RW) ShowHint (RW)
TabOrder (RW) TabStop (RW) Tag (RW)
Top (RW) Values (*RW) Visible (RW)
Width (RW)
--------------------------------------------------------------
OnChange OnClick OnEnter
OnExit
--------------------------------------------------------------
Legenda: * -> pouze z programu, R -> lze číst, W -> lze zadat
Komponenta DataRadioGroup se používá pro zobrazení, případně zadání hodnot databázové položky ve stylu RadioGroup. Zobrazovaná položka nabývá vždy jednu z několika možných (vzájemně se vylučujících) hodnot. Proto je objekt vizuálně zobrazen jako skupina koleček, z nichž může být vybráno pouze jedno z nich. Pokud neodpovídá obsah podřízené databázové položky žádné předvolené hodnotě, nebude vybrána žádná hodnota.
Komponentu je možné používat i pro zobrazení hodnot, které nejsou logického typu, je však možné definovat předem možné hodnoty. Například částka DPH ve výši 0, 5 nebo 22 %. Předdefinované hodnoty pro zobrazení stavu se zadávají ve vlastnosti Items, která je typu StrArray. 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.
Pokud odpovídá přesně obsah databázové položky zadaným možným stavům zadaných ve vlastnosti Items, bude se zobrazovat vždy odpovídající hodnota. Jestliže však potřebujete zobrazovat jiné hodnoty, než jsou uloženy v databázi, je nutné zadat ve vlastnosti Values odpovídající hodnoty příslušející zobrazovaným hodnotám uvedeným ve vlastnosti Items. Tento způsob je nutné například použít pro zobrazení stavu logických hodnot.
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ě 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 DataRadioGroupBox.
Index vybrané hodnoty je přístupný ve vlastnosti ItemIndex. Index se čísluje od muly, proto má například třetí zobrazené tlačítko přístupový index s číslem dva. Změnou nastavení hodnoty indexu se nedosáhne změny obsahu databázové položky.
Objekt DataRadioGroup neobsahuje přetáčecí pruh a rozestup mezi tlačítky je upravován automaticky podle vymezené velikosti zobrazovaného objektu. Při velkém množství tlačítek by mohlo dojít až k jejich překrývání. Pokud je seznam rozsáhlejší, využijte vlastnost Columns.
Seznam předdefinovaných hodnot pro zobrazení možného stavu je uložen ve vlastnosti Items, kterou představuje proměnná typu StrArray. Stejný typ proměnné používá vlastnost Values pro zadání odpovídajících hodnot uložených v databázi. 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 je možné 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.
Jednotlivá tlačítka jsou v seznamu řetězců přístupná svým indexem, to je pořadovým
číslem. Položky seznamu tlačítek 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 následujícím způsobem:
Jazyk KLONDAIK:
ShowMessage(DataRadioGroup.Items[0]);
Jazyk BONANZA:
ShowMessage(DataRadioGroup.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:
DataRadioGroup.Items[1]:='druhé talčítko';
Jazyk BONANZA:
DataRadioGroup.Items(1)= "druhé talčítko"
Nové tlačítko přidáte do seznamu z aplikace použitím metody Add následujícím způsobem:
Jazyk KLONDAIK:
DataRadioGroup.Items.Add('aaa');
Jazyk BONANZA:
DataRadioGroup.Items.Add("aaa")
Pokud potřebujete některé tlačítko ze seznamu zrušit, použijte volání metody Delete
následujícím způsobem:
Jazyk KLONDAIK:
DataRadioGroup.Items.Delete(2);
Jazyk BONANZA:
DataRadioGroup.Items.Delete(2)
Potřebujete-li v seznamu vyhledat index tlačítka se zadaným popisem, použijte funkci IndexOf:
Jazyk KLONDAIK:
ShowMessage(DataRadioGroup.Items.IndexOf('Tisknout'));
Jazyk BONANZA:
ShowMessage(DataRadioGroup.Items.IndexOf("Tisknout"))
Obsah seznamu tlačítek můžete uložit na disk do textového soubory, případně načít
textový soubor do seznamu metodami SaveToFile a LoadFromFile:
Jazyk KLONDAIK:
DataRadioGroup.Items.SaveToFile('seznam.txt');
DataRadioGroup.Items.LoadFromFile('seznam.txt');
Jazyk BONANZA:
DataRadioGroup.Items.SaveToFile("seznam.txt")
DataRadioGroup.Items.LoadFromFile("seznam.txt")
Potřebujete-li projít celý seznam tlačítek a provést s každým z nich 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 DataRadioGroup.Items.Count-1 do
Memo.Lines.Add(DataRadioGroup.Items[1]);
Jazyk BONANZA:
For x = 0 to DataRadioGroup.Items.Count-1
Memo.Lines.Add(DataRadioGroup.Items(1))
Next
Komponenta obsahuje pouze události reagující na zaměření objektu, ztrátu zaměření a samozřejmě také kliknutí na tlačítko. Pro zjištění, které tlačítko bylo nastaveno, použijte vlastnost ItemIndex.