문제

나는 DataGrid CSV 파일을 읽고 처리한 후 모바일 애플리케이션에서지금까지 내가 가진 것은 다음과 같습니다.

private void btOpenFile_Click(object sender, EventArgs e)
{
    try 
    {           
        // Process all data into an array of Object 
        // this.records array contains objects of type MyRecord

        // Create datatable and define columns
        DataTable dt = new DataTable("myDt");
        dt.Columns.Add( new DataColumn("String A",typeof(string)));
        dt.Columns.Add( new DataColumn("Int 1", typeof(int)));                   

        // Loop through and create rows
        foreach(MyRecord record in records) {
            DataRow row = dt.NewRow();                        
            row[0] = record.stringA;
            row[1] = record.int1;
            dt.Rows.Add(row);
        }   

        // Create dataset and assign it to the datasource..
        DataSet ds = new DataSet("myDs");
        ds.Tables.Add(dt);                                          
        dataGrid.DataSource = ds;
        dataGrid.Refresh();

    }
    catch (Exception ex)
    {
        MessageBox.Show("Error: " + ex.Message,"Error");
    }
}

애플리케이션을 실행할 때 얻는 것은 빈 데이터 그리드 구성요소뿐입니다.누군가 내 실수를 지적할 수 있나요?아니면 이것을 올바르게 수행하는 방법은 무엇입니까?

도움이 되었습니까?

해결책

DataSet DataGrid.datasource = dt없이 시도하십시오.

다른 팁

이것을 시도하면 도움이 될 것입니다 ...

DataSet Ds = new DataSet();
DataTable Dt = new DataTable();

Ds.Tables.Add(Dt);
Dt.Columns.Add(new DataColumn("String A", typeof(string)));                
Dt.Columns.Add(new DataColumn("Int 1", typeof(int)));      

Dt.Rows.Add(new object[] { "Patricia", 3 });
Dt.Rows.Add(new object[] { "John", 4 });
Dt.Rows.Add(new object[] { "Mayer", 5 });

대신에:

dataGrid.DataSource = ds;         
dataGrid.Refresh(); 

노력하다:

dataGrid.SetDataBinding(ds, "myDt");

이는 데이터 소스와 데이터 멤버를 동시에 설정하는 효과가 있습니다.

DataSet 내부의 테이블에 DataSource를 설정하는 경우에도 작동합니다.다음과 같은 것:

datagrid.DataSource = ds.Tables["myDt"];

데이터 세트에는 둘 이상의 테이블이 포함될 수 있으며 어떤 테이블을 사용할지, 어디를 볼지 명시적으로 알려야 한다는 점을 기억하세요. :)

h번째

문제는 데이터 소스를 데이터 세트로만 참조할 수 없다는 것입니다. Dataset.Datatable과 같아야 합니다.여기 예가 있습니다

Dataset DS = new Dataset();
DS.Tables.Add(TableName);

//
Populate dataset
//

mydatagrid.Datasource = DS.Tables[0];

즉, 데이터를 표시하려면 데이터세트 내의 테이블을 참조해야 합니다.도움이 되었기를 바랍니다...:)

답변이 매우 늦었다는 것을 알고 있습니다....하지만 다른 사람들에게는 도움이 될 것입니다...

DataSet ds = gridUpdate.GridUpdate();

(gridUpdate.GridUpdate()에 대해 걱정하지 마세요. 데이터 세트를 생성하는 기능입니다.)

dataGridView1.DataSource = ds.Tables[0]
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top