首页 新闻 会员 周边 捐助

未将对象引用设置到对象的实例。

0
悬赏园豆:5 [已解决问题] 解决于 2010-07-23 21:38

            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(); 报错,未将对象引用设置到对象的实例。 怎么回事啊 ,高手帮忙看看。。

问题补充: 我用的是VS2005 是想把datagridview显示数据 存入datatable。
一尾蓝色的主页 一尾蓝色 | 初学一级 | 园豆:195
提问于:2010-07-21 14:13
< >
分享
最佳答案
0

int Row = this.dataGridView1.RowCount-1;

最后一行没东西,所以要-1

收获园豆:5
!defined | 初学一级 |园豆:10 | 2010-07-21 18:32
谢了,弄明白了
一尾蓝色 | 园豆:195 (初学一级) | 2010-07-23 21:36
其他回答(6)
0

dr[num] = this.dataGridView1.Rows[i].Cells[num].Value as string;

dudu | 园豆:30925 (高人七级) | 2010-07-21 14:17
虽然不过去了,但是出来的结果不对啊,有几列的数据没有出来,变成空的了。。。
支持(0) 反对(0) 一尾蓝色 | 园豆:195 (初学一级) | 2010-07-21 16:27
0

 你看下第num是不是用了模板列,是的话这样就取不到了

dege301 | 园豆:2825 (老鸟四级) | 2010-07-21 14:48
没有,就是个普通的变量
支持(0) 反对(0) 一尾蓝色 | 园豆:195 (初学一级) | 2010-07-21 16:28
0

先判断 this.dataGridView1.Rows[i].Cells[num].Value 是否为空,然后再ToString

luotong | 园豆:4 (初学一级) | 2010-07-21 17:14
0

楼主你这样的问题,其实很多的时候都是遇到的,但是一般都是你的引用型变量时NUll的时候引起的,你可以调试你的代码,然后看看那个变量被赋值了但是还是为null的。

chenping2008 | 园豆:9836 (大侠五级) | 2010-07-21 19:49
0

如果是用模板列是取不到的

szny | 园豆:60 (初学一级) | 2010-07-22 10:24
0

dt的column是否正确?

for (int i = 0; i < Column; i++)
            {
                DataColumn dc = new DataColumn();
               
                dt.Columns.Add(dc);
            }
int dtCount = dt.Columns.Count;//检查下Count是否正确.

小堆爸 | 园豆:7 (初学一级) | 2010-07-23 10:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册