У меня есть привязанный к данным элемент управления CheckBoxList, который может стать довольно большим, поэтому я пытаюсь создать для него фильтр. Вот что я делаю:
foreach( ListItem item in this.UserRolesList.Items ) {
if( !item.Value.StartsWith( this.RolesFilterList.SelectedValue ) ) {
item.Attributes.CssStyle["display"] = "none";
} else item.Attributes.CssStyle["display"] = "inline";
}
В основном это работает, за исключением того, что когда ASP.NET отображает CheckBoxList, он делает это с помощью таблицы, где каждый элемент управления CheckBox вложен в свой собственный элемент <TR>
. Это означает, что даже если элементы, которые я не хочу видеть, не отображаются, остается пустое пространство для их рядов, поэтому мне все еще нужно довольствоваться тем, что нужно.
Я не знаю, что я могу получить доступ к элементу <TR>
, не разбивая его на подклассы элемента управления, что является «приятной для обладания» функцией, которую у меня нет времени, поэтому мне интересно, есть ли трюк CSS, который я могу использовать для доступа к родительскому элементу родителя элемента (например, <input type="checkbox"/>
-> <td>
-> <tr>
). Раньше я использовал псевдоэлемент :first-child
, но мои поиски в интернете такого рода уловок оказались бесплодными, поэтому у меня есть сомнения. Спрашивать не больно, правда?