Frage

Ich bin mit dem Header und den Content des Akkordeons Steuerung und an eine Datentabelle zu binden. Aus irgendeinem Grund hat es nicht angezeigt werden alle Daten. Wenn ich binden die Datentabelle zu einem Datalist funktioniert wie ecpected, dann ist dies ein bekanntes Problem, oder ich tue etwas ganz falsch. Ich Bindung des Akkordeon Kontrolle in der Code-behind, wenn diese macht keinen Unterschied. Hier ist der 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>

und in der c # -Code hinter:

databoundaccordion.DataSource = presenter.getDataTable();
databoundaccordion.DataBind();
War es hilfreich?

Lösung

Sie werden Schwierigkeiten haben, ein Akkordeon zu einem Datatable-Objekt zu binden.
Stattdessen gehen Sie wie folgt, indem es in einem Datatablereader Umwandlung und es sollte gut funktionieren:

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

Hier ist ein weiteres Beispiel mit Beispieldaten:

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

Andere Tipps

Ich habe gebaut nur ein einfaches Beispiel, das funktioniert gut.

anstatt mit Databinder.Eval(Container.Item, "name") I verwendet Eval("name")

Dies scheint mit dem einfachen Beispiel zu arbeiten, ich werde aktualisieren, wenn ich mit meinem Arbeits Code getestet habe.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top