Frage

Ich versuche, ein Datatable zu einem Akkordeon Databind und ich festgestellt, dass, wenn ich rufe Sie die Datentabelle aus einer Datenbank einer Tabelle Adapter es perfekt aber an das Akkordeon bindet, was ich tun möchte, eine Dummy-Tabelle erstellen (zum Testen wenn ich Zwecke hat keinen Zugriff auf meine Datenbank), um den Code, um die Dummy-Tabelle zu erstellen, ist unten:

    DataTable table2 = new DataTable("articletable");
    table2.Columns.Add("articleID");
    table2.Columns.Add("title");
    table2.Columns.Add("content");

    DataRow row = table2.NewRow();
    row[0] = "1";
    row[1] = "article name";
    row[2] = "article contents go here";
    table2.Rows.Add(row);

Wenn ich auf die Daten binden diese Tabelle versuchen jedoch das Akkordeon nicht angezeigt. Ich kann es auf eine Gridview oder Details binden, aber nicht das Akkordeon.

War es hilfreich?

Lösung

Nach 4 Stunden meinen Kopf gegen die Wand schlug, entdeckte ich, dass die Datasource-Feld sehr wählerisch ist.

Hier ist mein Code:

DataSet ds = new DataSet();

        DataTable dt = new DataTable();
        dt.Columns.Add("Name");
        dt.Columns.Add("Branch");
        dt.Columns.Add("Officer");
        dt.Columns.Add("CustAcct");
        dt.Columns.Add("Grade");
        dt.Columns.Add("Rate");
        dt.Columns.Add("OrigBal");
        dt.Columns.Add("BookBal");
        dt.Columns.Add("Available");
        dt.Columns.Add("Effective");
        dt.Columns.Add("Maturity");
        dt.Columns.Add("Collateral");
        dt.Columns.Add("LoanSource");
        dt.Columns.Add("RBCCode");

        dt.Rows.Add(new object[] { "James Bond, LLC", 120, "Garrison Neely", "123 3428749020", 35, "6.000", "$24,590", "$13,432",
            "$12,659", "12/13/21", "1/30/27", 55, "ILS", "R"});

        ds.Tables.Add(dt);

        accReportData.DataSourceID = null;
        accReportData.DataSource = ds.Tables[0].DefaultView;
        accReportData.DataBind();

Es stellte sich heraus, dass das Akkordeon nur zu einem Dataset-Tabelle der Standardansicht gebunden gerne wird. Ich habe versucht, nur ein Datatable (dt) Bindung und es ist fehlgeschlagen. Selbst gescheitert dt.DefaultView. Einmal habe ich es zu einem Datensatz hinzugefügt, bindet es wie ein Champion. Sehr ärgerlich, mit vergeudeter Zeit verloren. Ich weiß, Sie haben wahrscheinlich das längst vergessen, aber ich wollte sie an zukünftige Forscher zur Verfügung stellen. Accordion.DataSource zu einem DataSet.Table.DefaultView gebunden sein müssen arbeiten.

Andere Tipps

Achten Sie darauf, einen Typen für die Spalten in dem table2.Columns.Add angeben (...)

Auch, wie in der Antwort zu sehen unter:

https://stackoverflow.com/a/6108163/637903

Sie können die Akkordeon-Steuerung binden an eine Datatablereader von der ursprünglichen Datentabelle aufgebaut

accReportData.DataSource = new System.Data.DataTableReader(ds.Tables[0]);
accReportData.DataBind();
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top