Kogu trikk põhineb CSS3 kasutamisel, kuna see võib tekitada segadusi projekti piirides, siis mõtekas kasutada "inline CSS", näiteks vajaliku userControli sees
<style>reegli mõju piirame CheckBoxListOtsinguMajad komponendi nende osadega, mille input:disabled, ehk märkeruuduga, sättida tuleb ka ClientIDMode="Static" , et ASP.NET komponendi ID-d ei muudaks ja CSS3 reegel komponendi tuvastaks
#CheckBoxListOtsinguMajad input:disabled {
display: none;
}
</style>
asp:CheckBoxList ID="CheckBoxListOtsinguMajad" ClientIDMode="Static"Kui nüüd CheckBoxListi ListItem seada Enabled=False, siis vastavale reale CSS reegel rakendub ja kuna display: none; siis märkeruut kaob ära
protected void CheckBoxListOtsinguMajad_PreRender(object sender, EventArgs e)
{
foreach (ListItem it in this.CheckBoxListOtsinguMajad.Items)
{
if (it.Value.Equals("0")) //grupeeringu tunnus
{
it.Enabled = false;
it.Selected = false;
it.Attributes.Add("style", "font-size:14px;height:16px;font-weight:bold;");
}
}
}
Grupeeringu rida aga võiks teistest tugevamalt eristada, täiendame stiili
it.Attributes.Add("style", "font-size:14px;height:16px;font-weight:bold;");