ACCORDIONPANE

JANDER 13/04/2012 12:47:15
#399803
Estou tando colocar ACCORDIONPANE para exibir a listagem de um DataTable, porém ele nunca aparece nada. somento. alguem sabe dizer onde está o erro?

protected void Page_Load(object sender, EventArgs e)
{

if (!IsPostBack)
{
Agencia a = new Agencia();
Accordion1.DataSource = a.Listagem();
Accordion1.DataBind();

}

}

<asp:Accordion ID=[Ô]Accordion1[Ô] runat=[Ô]server[Ô] FadeTransitions=[Ô]true[Ô] SelectedIndex=[Ô]0[Ô]
TransitionDuration=[Ô]200[Ô] AutoSize=[Ô]None[Ô] FramesPerSecond=[Ô]20[Ô] HeaderCssClass=[Ô]accordionHeader[Ô] ContentCssClass=[Ô]accordionContent[Ô] >
<Panes>
<asp:AccordionPane ID=[Ô]AccordionPane1[Ô] runat=[Ô]server[Ô]>
<Header>
<asp:Label runat=[Ô]server[Ô] ID=[Ô]lblTitulo[Ô] Text=[ô]<%# DataBinder.Eval(Container.DataItem, [Ô]sigla[Ô]) %>[ô]></asp:Label>
</Header>
<Content>><%# Eval([Ô]sigla[Ô]) %></Content>
</asp:AccordionPane>
</Panes>
</asp:Accordion>



KERPLUNK 13/04/2012 13:13:56
#399805
Accordion, é um componente AJAX, ele deve estar dentro de um UpdatePanel senão não tem como funcionar. Uma alternativa é usar o Accordion do JQueryUI, ele não depende de um componente updatepanel e é muito mais versátil. Além disso, adicionando a biblioteca JQueryUI no seu projeto, você vai poder usar todos os outros recursos do JQueryUI...
JANDER 13/04/2012 14:20:17
#399807
Mais quando tiro o código baixo ele funciona, mais fica com os texto fixo que eu coloco.
Agencia a = new Agencia();
Accordion1.DataSource = a.Listagem();
Accordion1.DataBind();
OCELOT 13/04/2012 14:21:43
#399808
Se não me engano para usar DataBinding você não pode criar panes, você tem que usar as propriedades HeaderTemplate e ContentTemplate
KERPLUNK 13/04/2012 14:32:15
#399811
Você não passa a fonte de dados para um accordion, ele não é um controle DataFriendly. Você pode colocar um grid ou campos dentro dele e atribuir uma fonte de dados à esse grid ou campos, mas ao accordion mesmo, não.
JANDER 13/04/2012 14:48:39
#399812
Ocelot , fiz o que vc disse e não funcionou!

Kerplunk, crieu um datalist ele exibe normalmente, mais não sei como juntar.
KERPLUNK 13/04/2012 14:50:49
#399813
Dentro do Content do Accordion, coloque seu datalist...
JANDER 13/04/2012 14:56:56
#399814
da erro: segue o código abaixo

<asp:Accordion ID=[Ô]Accordion1[Ô] runat=[Ô]server[Ô] FadeTransitions=[Ô]true[Ô] SelectedIndex=[Ô]0[Ô]
TransitionDuration=[Ô]200[Ô] AutoSize=[Ô]None[Ô] FramesPerSecond=[Ô]20[Ô] HeaderCssClass=[Ô]accordionHeader[Ô]
ContentCssClass=[Ô]accordionContent[Ô]>
<HeaderTemplate>
<asp:DataList ID=[Ô]DataList1[Ô] runat=[Ô]server[Ô] OnSelectedIndexChanged=[Ô]DataList1_SelectedIndexChanged[Ô]>
<ItemTemplate>
teste:<%# Eval([Ô]sigla[Ô]) %>
</ItemTemplate>
</asp:DataList>
</HeaderTemplate>
</asp:Accordion>
KERPLUNK 13/04/2012 14:57:49
#399815
Qual erro?
JANDER 13/04/2012 15:01:59
#399816
No load ele não reconhece o datalist, só reconhece quando tiro do accordion.
JANDER 24/04/2012 10:08:22
#400613
Consegui, ele não aceita um DataTable, tive que colocar um DataSET.

ficou assim:

Agencia agencia = new Agencia();
DataTable rs = agencia.Listagem();

DataSet rs1 = new DataSet();
rs1.Tables.Add(rs);

Accordion1.DataSource = rs1.Tables[0].DefaultView;
Accordion1.DataBind();
Tópico encerrado , respostas não são mais permitidas