Как заставить элемент управления DropDownList отображать некоторые элементы жирным шрифтом ASP.NET - PullRequest
5 голосов
/ 25 мая 2010

Я работаю с пользовательским элементом управления DropDownList в ASP.Net, и был запрос на отображение определенных элементов в списке с жирным шрифтом (ПРИМЕЧАНИЕ. Элемент управления наследуется от CompositeDataBoundControl, поэтому его можно данные связаны ... не DropDownListBox). Элемент управления привязан к таблице, и в таблице есть столбец с именем IsUsed - если для этого параметра установлено значение true, соответствующий элемент в списке должен быть выделен жирным шрифтом. (Здесь следует отметить, что это будет только когда-либо просматриваться в FireFox.)

Мой опыт находится на среднем уровне, поэтому уровень презентации для меня очень новый - кто-то может направить меня в правильном направлении? Сначала я думал, что где-то в пользовательском элементе управления у меня будет доступ ко всем строкам, которые возвращаются из источника данных, который я мог бы циклически перебирать и т. Д., Но я не уверен, что это возможно ... Есть также RenderContents, который я могу переопределить ... выглядит интересно!

Ответы [ 3 ]

3 голосов
/ 25 мая 2010

Вот как сделать то, что вам нужно в коде позади:

var item = new ListItem("MyItem");
item.Attributes.Add("style", "font-weight: bold");

var list = FindControl("DropDownList1");
list.Items.Add(item);

Любой элемент управления, унаследованный от System.Web.UI.Control, имеет свойство Attributes, которое можно использовать для добавления или добавления атрибута style.

1 голос
/ 25 мая 2010

Хорошо, я думаю, что ответил на свой вопрос, но он не выглядит очень элегантным.

Я могу написать новый сохраненный процесс, чтобы вернуть данные, которые мне нужно отобразить в списке, которые будут возвращать ID и ОПИСАНИЕ. Однако description будет описание плюс TRUE или FALSE (в зависимости от флага IsUsed в таблице). Затем в RenderContents я могу разбить строку описания, разобрать bool и добавить атрибут стиля, делающий текст жирным, если bool имеет значение true ...

1 голос
/ 25 мая 2010

Независимо от того, какой элемент управления вы используете на стороне сервера, он будет отображаться как html в клиентском браузере, и стандартный раскрывающийся список html не поддерживает стилизацию его содержимого. Вместо этого вы можете использовать пользовательские элементы управления раскрывающегося списка JavaScript или jQuery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...