我正在尝试在读取CSV文件后在我的移动应用程序上显示一个生成的icetagcode并处理它。到目前为止我有什么:

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

在运行我的应用程序时,我得到的是空白数据网格组件。有人能指出我的错误吗?或者如何正确做到这一点?

有帮助吗?

解决方案

尝试没有数据集 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");
.

这具有同时设置DataSource和DataMember的效果。

如果您也可以在数据集中的表格中设置数据源,同样工作。如:

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

请记住,数据集可以包含多个表,我们必须明确地告诉它哪一个使用或查看哪一个:)

hth

问题是您不能将DataSource引用为DataSet它应该是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