'row'参数不能为空参数名称:行

时间:2019-07-31 01:23:20

标签: c# datatable datarow

我正在尝试将值从CSV加载回我的class。然后将值显示到我的datatable。但是,即使将我的值加载到类中并放置在预期的列中之后,也会出现错误(请参见图1)。错误发生在dt.Rows.Add(dr);。下面是我的代码:

 public Newdatagrid()
    {
        InitializeComponent();

        //Do datatable
        ds = new DataSet();
        dt = new DataTable();
        dt.Columns.Add("Bus Model", typeof(string));//0
        dt.Columns.Add("Bus Type", typeof(string));//1
        dt.Columns.Add("Mileage", typeof(string));//2

        if (Savestate.vehnochange_list.Count > 0)
        {
            foreach (DataRow dr in dt.Rows)
            {
                dr["Bus Model"] = Savestate.busmodel_list[Savestate.busmodel_list.Count];//0
                dr["Bus Type"] = Savestate.bustype_list[Savestate.bustype_list.Count];//1
                dr["Mileage"] = Savestate.busmileage_list[Savestate.busmileage_list.Count];//2
            }

            dt.Rows.Add(dr);
            this.dataGridView2.DataSource = dt;

        }
   }

1 个答案:

答案 0 :(得分:0)

我认为您想要这样的东西:

public Newdatagrid()
{
    InitializeComponent();

    //Do datatable
    ds = new DataSet();
    dt = new DataTable();
    dt.Columns.Add("Bus Model", typeof(string));//0
    dt.Columns.Add("Bus Type", typeof(string));//1
    dt.Columns.Add("Mileage", typeof(string));//2

    if (Savestate.vehnochange_list.Count > 0)
    {
        for (int i=0; i < Savestate.vehnochange_list.Count; ++i)
        {
            DataRow dr = dt.NewRow();
            dr["Bus Model"] = Savestate.busmodel_list[i];//0
            dr["Bus Type"] = Savestate.bustype_list[i];//1
            dr["Mileage"] = Savestate.busmileage_list[i];//2
            dt.Rows.Add(dr);
        }

        this.dataGridView2.DataSource = dt;

    }
}
相关问题