Komponenta DataRadioGroup


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.


OZOGAN, 1 Mßje 97, 460 01 Liberec
tel.,fax: (048) 52 28 338, e-mail: info@ozogan.cz