0

DataGridCSVファイルを読み取って処理した後、モバイルアプリケーションにを表示しようとしています。これが私がこれまでに持っているものです:

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

アプリケーションの実行時に取得するのは、空白のデータグリッドコンポーネントだけです。誰かが私の間違いを指摘できますか?またはこれを正しく行う方法は?

4

6 に答える 6

1

これを試してみてください...

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 });
于 2012-05-21T12:34:12.130 に答える
1

DataSetなしで試してくださいdataGrid.DataSource=dt;

于 2012-05-21T11:52:32.883 に答える
0

それ以外の:

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

試す:

dataGrid.SetDataBinding(ds, "myDt");

これには、データソースとデータメンバーを同時に設定する効果があります。

于 2012-05-21T11:53:56.930 に答える
0

問題は、データソースをデータセットとしてのみ参照することはできません.Dataset.Datatableのようなものでなければなりません.ここに例があります

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

//
Populate dataset
//

mydatagrid.Datasource = DS.Tables[0];

つまり、データセット内のテーブルを参照してデータを表示する必要があります...これが役立つことを願っています... :)

于 2012-05-21T12:43:22.580 に答える
0

DataSource を DataSet 内のテーブルにも設定すると、同様に機能するはずです。次のようなものです。

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

データセットには複数のテーブルが含まれている可能性があり、どれを使用するか、どこを探すかを明示的に伝える必要があることを覚えておいてください:)

h番目

于 2012-05-21T12:44:53.533 に答える
-1

私は答えるのが非常に遅いことを知っています....しかし、それは他の人に役立つでしょう...

DataSet ds = gridUpdate.GridUpdate();

(gridUpdate.GridUpdate() データセットを作成するための関数については心配しないでください)

dataGridView1.DataSource = ds.Tables[0]
于 2015-03-02T21:30:31.200 に答える