Domanda

Sto usando HeaderTemplate e ContentTemplate della fisarmonica controllarlo e collegarlo a un datatable. Per qualche ragione no visualizza tutti i dati. Se associo il datatable a un datalist, funziona come eccepito, è un problema noto o sto facendo qualcosa di completamente sbagliato. In questo caso vincolo il controllo della fisarmonica nel codice sottostante fa la differenza. Ecco il codice:

<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>

e nel codice c # dietro:

databoundaccordion.DataSource = presenter.getDataTable();
databoundaccordion.DataBind();
È stato utile?

Soluzione

Avrai difficoltà a legare una fisarmonica a un oggetto DataTable.
Invece, fai quanto segue convertendolo in un DataTableReader e dovrebbe funzionare bene:

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

Ecco un altro esempio con dati di esempio:

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();

Altri suggerimenti

Ho appena creato un semplice esempio che funziona benissimo.

anziché usare Databinder.Eval (Container.Item, " name ") ho usato Eval("name")

questo sembra funzionare con il semplice esempio, aggiornerò quando avrò provato con il mio codice di lavoro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top