Question

J'utilise HeaderTemplate et ContentTemplate de l'accordéon. le contrôler et le lier à un datatable. Pour une raison quelconque, ce n'est pas afficher des données. Si je lie le datatable à un datalist cela fonctionne comme attendu, est-ce un problème connu ou est-ce que je fais quelque chose de complètement faux. Je lie le contrôle accordéon dans le code derrière si cela fait une différence. Voici le code:

<cc1:Accordion ID="databoundaccordion" runat="server" AutoSize="None"  
HeaderCssClass="articleHeader" HeaderSelectedCssClass="articleHeaderSelected" 
ContentCssClass="articleBody" FadeTransitions="true" 
SuppressHeaderPostbacks="true" RequireOpenedPane="true" 
TransitionDuration="250" FramesPerSecond="40">
<HeaderTemplate>
    <%# DataBinder.Eval(Container.DataItem, "name")%>
</HeaderTemplate>
<ContentTemplate>
    <p>Content goes here</p>
    <a href="Articles.aspx">Go</a>
</ContentTemplate>

et dans le code c # derrière:

databoundaccordion.DataSource = presenter.getDataTable();
databoundaccordion.DataBind();
Était-ce utile?

La solution

Vous aurez des difficultés à lier un accordéon à un objet DataTable.
Au lieu de cela, procédez comme suit en le convertissant en DataTableReader et cela devrait fonctionner correctement:

databoundaccordion.DataSource
                    = new System.Data.DataTableReader(presenter.getDataTable());
databoundaccordion.DataBind();

Voici un autre exemple avec des exemples de données:

DataTable dt = new DataTable();
dt.Columns.Add("HeaderText");
dt.Columns.Add("ContentText");

dt.Rows.Add(new object[] { "Heading 1", "Content 1" });
dt.Rows.Add(new object[] { "Heading 2", "Content 2" });

databoundaccordion.DataSource = new System.Data.DataTableReader(dt);
databoundaccordion.DataBind();

Autres conseils

Je viens de construire un exemple simple qui fonctionne bien.

plutôt que Databinder.Eval (Container.Item, "name") J'ai utilisé Eval ("name")

cela semble fonctionner avec l'exemple simple, je mettrai à jour lorsque j'ai testé avec mon code de travail.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top