문제

나는 아코디언에 데이터를 데이터베이션하려고 노력하고 있으며 테이블 어댑터를 사용하여 데이터베이스에서 데이터베이스를 검색하면 아코디언에 완벽하게 바인딩되지만 내가 원하는 것은 더미 테이블을 만드는 것입니다 (I가있는 경우 테스트 목적으로 더미 테이블을 작성하는 것입니다. 내 데이터베이스에 액세스 할 수 없음) 더미 테이블을 만들기위한 코드는 다음과 같습니다.

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

내가 데이터를 바인딩하려고 할 때 해당 테이블을 바인딩하지만 아코디언은 표시되지 않습니다. 나는 그것을 그리드 뷰 나 세부 사항에 묶을 수 있지만 아코디언은 아닙니다.

도움이 되었습니까?

해결책

4 시간 동안 벽에 머리를 두드린 후, 나는 데이터 소스 필드가 매우 까다 롭다는 것을 알게되었습니다.

내 코드는 다음과 같습니다.

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

아코디언은 데이터 세트 테이블의 DefaultView에 바인딩되는 것을 좋아한다는 것이 밝혀졌습니다. 데이터 가능 (DT)에 대한 바인딩을 시도했는데 실패했습니다. DT.DefaultView조차 실패했습니다. 데이터 세트에 추가하면 챔피언처럼 바인딩됩니다. 낭비되는 시간을 잃어버린 매우 성가신 시간. 나는 당신이 아마 오랫동안 이것을 잊어 버렸다는 것을 알고 있지만, 미래의 검색 자들이 그것을 이용할 수있게하고 싶었습니다. 아코디언 .datasource는 dataset.table.defaultView에 바인딩되어야합니다.

다른 팁

table2.columns.add (...)의 열에 대한 유형을 지정하십시오.

또한 아래 답변에서 볼 수 있듯이 :

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

아코디언 컨트롤을 원래 데이터 테이블로 구성된 데이터 블리어에 바인딩 할 수 있습니다.

accReportData.DataSource = new System.Data.DataTableReader(ds.Tables[0]);
accReportData.DataBind();
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top