Ajax Control Toolkit Accordion - Formatowanie

Tagged Under : ,

Pierwszy krok to stworzenie Accordiona na którym będziemy się opierać.

<ajaxToolkit:Accordion runat="server" ID="mojAccordion">
<Panes>
<ajaxToolkit:AccordionPane runat="server">
<Header>Nagłówek 1</Header>
<Content>Zawartość 1</Content>
</ajaxToolkit:AccordionPane>
<ajaxToolkit:AccordionPane runat="server">
<Header>Nagłówek 2</Header>
<Content>Zawartość 2</Content>
</ajaxToolkit:AccordionPane>
<ajaxToolkit:AccordionPane runat="server">
<Header>Nagłówek 3</Header>
<Content>Zawartość 3</Content>
</ajaxToolkit:AccordionPane>
</Panes>
</ajaxToolkit:Accordion>

Teraz możemy zabrać się za formatowanie naszego obiektu. Pierwsze co możemy dodać to SelectedIndex , właściwość ta określa który z naszych paneli będzie wyświetlany domyślnie podczas ładowania strony.

Następnie żeby nasze panele nie wyglądały tak sucho możemy przypisać im klasy CSS. Możemy to zrobić dla całego Accordion lub dla osobnych paneli. Przypisuje się je wartościom HeaderCssClass (dla nagłówków paneli) oraz ContentCssClass (dla zawartości paneli).

<ajaxToolkit:Accordion runat="server" ID="mojAccordion"
SelectedIndex="2" ContentCssClass="zawartoscCSS">
<Panes>
<ajaxToolkit:AccordionPane runat="server" HeaderCssClass="naglowekCSS1">
<Header>Nagłówek 1</Header>
<Content>Zawartość 1</Content>
</ajaxToolkit:AccordionPane>
<ajaxToolkit:AccordionPane runat="server" HeaderCssClass="naglowekCSS2">
<Header>Nagłówek 2</Header>
<Content>Zawartość 2</Content>
</ajaxToolkit:AccordionPane>
<ajaxToolkit:AccordionPane runat="server" HeaderCssClass="naglowekCSS3">
<Header>Nagłówek 3</Header>
<Content>Zawartość 3</Content>
</ajaxToolkit:AccordionPane>

A tak wyglądają klasy CSS dla powyższego kodu.


<style type="text/css">
.naglowekCSS1 { color : red ; font-size : large ; background-color : black}
.naglowekCSS2 {color : gold; font-size : large}
.naglowekCSS3 {color : green; font-size : large}
.zawartoscCSS { color : blue ; font-size : small ; background-color : grey}
</style>

Kolejny element do ustawienia to AutoSize odpowiadający za rozwijanie naszych paneli. Ustawienie wartości None spowoduje, że panele będą się rozwijać bez ograniczeń co może wpłynąć na ułożenie innych elementów na stronie. Wartość Limit zezwala na rozwijanie do określonego rozmiaru ustawianego przez parametr Height, w wypadku gdy zawartość panelu nie zmieści się będzie można ją przewijać. Ostatnia możliwość to Fill, ustalona wartość Height powoduje rozciąganie Accordiona i wymusza stały rozmiar tego elementu.

FadeTransition odpowiada za efekt wygaszania podczas przejścia pomiędzy panelami, jeśli ustawiona jest wartość false wykonywane są standardowe przełączenia pomiędzy panelami. Dwie kolejne właściwości odpowiadają za czas animacji podczas przełączania paneli oraz ilość klatek na sekundę, TransitionDuration i FramesPerSecond.

<ajaxToolkit:Accordion runat="server" ID="mojAccordion"
SelectedIndex="2" ContentCssClass="zawartoscCSS" AutoSize="None"
FadeTransitions="true" TransitionDuration="2000" FramesPerSecond="35">

Po odpowiednim ustawieniu wszystkich parametrów będziemy mieli śliczny Accordion. Najłatwiej da się zaobserwować efekty przejść pomiędzy panelami jeśli zawartość paneli jest dosyć spora. Może to być kilka, kilkanaście linijek tekstu albo jakiś plik graficzny.

Miłego korzystania i owocnej pracy.

Pełny kod do artykułu można pobrać tutaj.

Pokój

Comments:

8 Responses to “Ajax Control Toolkit Accordion - Formatowanie”


  1. do zaznaczania kodu polecam używanie code, pamiętaj że wordpress przyjmuje więkoszść kodu html


  2. Cześć, chciałem sobie zrobić Accordiona na stronie.
    Przy pomocy twojego opisu i książki zrobiłem coś takiego:

    http://www.radek1986.yoyo.pl/programy/koloruj.php?plik=events.aspx

    Ale właśnie nie wiem co teraz mam zrobić, żeby te przejścia zadziałały. Byłbym wdzięczny za odpowiedz..

    Pozdrawiam..


  3. Jakbyś jeszczepodał link do swojego pliku events.aspx.cs do którego maszreferencje w kodzie. Jak instalowałeś AjaxControl Toolkit? Dokładnie chodzi mi o wersję


  4. Ja bardziej opierałem sie na książce którą posiadam i nic nie było napisane, żeby coś programować i dlatego mój plik aspx.cs jest pusty ;) A kontrolki instalowałem tak, że ściągnąłem ze strony plik AjaxControlToolkit.zip, przeniosłem plik AjaxControlToolkit.dll do mojego projektu do folderu bin, później add tab i choose ittems -> Browse; wskazałem ten plik .dll i dodały sie kontrolki do toolboxa..


  5. Ok. Wtakim razie, żeby eventy zadziałały musisz je dołączyć do kontrolek. Nie wiem czy zaglądałeś tutaj http://www.michalklich.com/2007/02/15/ajax-asp-net-control-toolkit-accordion-i-nie-dzialajace-eventy/ . Jest tam przykład jak powinien wyglądać taki plik z kodem do eventów.


  6. Wersja która mam to: 1.0.11119.0
    Dodałem kod do pliku .cs i nic to nie pomogło :(
    kod: http://www.radek1986.yoyo.pl/programy/koloruj.php?plik=events.aspx.cs

    Na dole tamtego artykułu podałeś link do kodu, ale on niestety nie działa. Czy mógłbyś udostępnić jakiś prosty kod, (najlepiej z Accordionem), może ja mam coś źle zainstalowane, a tak chociaż przetestuje czy wszystko mam zainstalowane jak być powinno..;)


  7. Niestety nie mam pod ręką żadnego kodu a tamte pliki wygasły. Jak tylko będę miał czaswieczorem to podam Ci jakieś linki do plików.
    Niestety zapomniałem, że wszystko mam na laptopie który jest w serwisie. Przykro mi.


  8. No wlasnie code - bo ciezko to przekopiowac

Leave a Reply