c# - “行”参数不能为空。参数名称:行
问题描述
我正在尝试将值从 a 加载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;
}
}
解决方案
我想你想要这样的东西:
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;
}
}
推荐阅读
- virtualization - antivmdetection/vmcloak/VBoxHardenedLoader 什么是反虚拟盒检测的尊重?
- c# - 未在 Active 和 Enabled 游戏对象上调用 Unity WebGL 更新
- bsd - newsyslog.conf 中的多个 PID 文件
- c - Valgrind 表示内存泄漏
- python - 基于 lengt 函数从 df 内的数组中检索值
- c++ - 基于成员字段或函数创建比较器的快捷方式
- gpu - 如何调整 ROCm(llvm) 编译器的性能?
- chronicle - Chroncile Queue tailer 为某些缓冲区添加了额外的字节 (0x008F)。如何确定哪些缓冲区具有此填充?
- html - bootstrap 4 下拉菜单修复了最后一个和第一个元素
- android - 我可以确定 AsyncStorage(React Native)会在 Android 上使用 SQLite3 吗?