DataTable dt = new DataTable();
int Column = this.dataGridView1.ColumnCount;
int Row = this.dataGridView1.RowCount;
for (int i = 0; i < Column; i++)
{
DataColumn dc = new DataColumn();
dt.Columns.Add(dc);
}
//this.dataGridView1.DataMember = "fitem";
for(int i =0;i<Row;i++)
{
DataRow dr = dt.NewRow();
for (int num = 0; num < Column; num++)
{
dr[num] = this.dataGridView1.Rows[i].Cells[num].Value.ToString();
}
dt.Rows.Add(dr);
}
this.dataGridView1.DataSource = dt;
dr[num] = this.dataGridView1.Rows[i].Cells[num].Value.ToString(); 报错,未将对象引用设置到对象的实例。 怎么回事啊 ,高手帮忙看看。。
int Row = this.dataGridView1.RowCount-1;
最后一行没东西,所以要-1
dr[num] = this.dataGridView1.Rows[i].Cells[num].Value as string;
你看下第num是不是用了模板列,是的话这样就取不到了
先判断 this.dataGridView1.Rows[i].Cells[num].Value 是否为空,然后再ToString
楼主你这样的问题,其实很多的时候都是遇到的,但是一般都是你的引用型变量时NUll的时候引起的,你可以调试你的代码,然后看看那个变量被赋值了但是还是为null的。
如果是用模板列是取不到的
dt的column是否正确?
for (int i = 0; i < Column; i++)
{
DataColumn dc = new DataColumn();
dt.Columns.Add(dc);
}
int dtCount = dt.Columns.Count;//检查下Count是否正确.