Sdílet prostřednictvím


Vytvoření vzájemně se vylučujících zaškrtávacích políček (VB)

Christian Wenz

Stáhnout PDF

Pokud může být vybrána pouze jedna ze sady možností, obvykle se používají přepínače. Má to ale nevýhodu: Jakmile je vybráno jedno přepínačové tlačítko ve skupině, není možné zrušit zaškrtnutí všech přepínačů. Zaškrtávací políčka je možné kdykoli zrušit, ale vzájemně se nevylučují. Tento kurz poskytuje nejlepší z obou přístupů: zaškrtávací políčka, která se vzájemně vylučují.

Přehled

Pokud může být vybrána pouze jedna ze sady možností, obvykle se používají přepínače. Má to ale nevýhodu: Jakmile je vybráno jedno přepínačové tlačítko ve skupině, není možné zrušit zaškrtnutí všech přepínačů. Zaškrtávací políčka je možné kdykoli zrušit, ale vzájemně se nevylučují. Tento kurz poskytuje nejlepší z obou přístupů: zaškrtávací políčka, která se vzájemně vylučují.

Postup

Sada ASP.NET AJAX Control Toolkit obsahuje extender MutuallyExclusiveCheckBox. Programátoři tak mohou přiřadit libovolné zaškrtávací políčko k názvu skupiny (Key atributu). Ze všech zaškrtávacích políček ve stejné skupině může být najednou vybráno pouze jedno.

Začněme vložením dvou zaškrtávacích políček na novou ASP.NET stránku. Může jich být více, ale dva z nich postačí k demonstraci tohoto principu:

<asp:CheckBox ID="cbYes" runat="server" />Yes
<asp:CheckBox ID="cbNo" runat="server" />No

U obou zaškrtávacích políček musí být na stránce umístěn ovládací prvek MutuallyExclusiveCheckBoxExtender. Oba atributy key musí mít stejnou hodnotu, stejně jako atributy hodnot elementů přepínačů HTML musí být identické, aby bylo možné označovat skupinu, do které patří. Vlastnost TargetControlID extenderu odkazuje na ID zaškrtávacího políčka.

<ajaxToolkit:MutuallyExclusiveCheckBoxExtender ID="mecbe1" runat="server"
 TargetControlID="cbYes" Key="YesNo" />
<ajaxToolkit:MutuallyExclusiveCheckBoxExtender ID="mecbe2" runat="server"
 TargetControlID="cbNo" Key="YesNo" />

Nakonec zahrňte ASP.NET AJAX ScriptManager , který vyžadují všechny prvky ASP.NET AJAX Control Toolkit:

<asp:ScriptManager ID="asm" runat="server" />

Uložit a spustit stránku: Můžete zaškrtnout a zrušit zaškrtnutí obou políček, ale v žádném okamžiku nelze zaškrtnout obě zaškrtávací políčka.

Najednou je možné zaškrtnout jenom jedno políčko.

Najednou je možné zaškrtnout jenom jedno políčko (kliknutím zobrazíte obrázek v plné velikosti).