2008-10-20 3 views
0

Так что я изменяю чужой код, и они использовали связанный с данными элемент управления Accordion. Мне нужно отключить функциональность Аккордеона, чтобы верхний элемент был расширен, а остальные просто сведены к минимуму и сохранены таким образом.ASP.NET Accordion

Также есть способ поставить класс на конечный элемент?

Большое спасибо.

ответ

2

Проще всего заменить циферблат Аккордеона на ретранслятор, который будет выглядеть как текущий Аккордеон.

Но, чтобы попытаться ответить на ваш вопрос (ы):

Создать OnItemCommand обработчика событий, который просто устанавливает SelectedIndex 0. Таким образом, пользователь не может открыть любые другие элементы в аккордеоне.

Что касается стиля последнего элемента, вам необходимо создать обработчик событий OnItemDataBound, который знает, как элементы могут быть в вашей коллекции, а затем подсчитывать элементы, которые он привязал. Когда метод связывает элемент с индексом, который соответствует размеру коллекции, вы просто устанавливаете CssClass элемента как класс для конечного элемента. (Эта же методика должна также работать, если вы должны были заменить Аккордеон другим контролем.)

Проверьте первый ответ на вопрос «How do I bind an ASP.net ajax AccordionPane to an XMLDatasource?» для примера обработчика событий ItemDataBound.