我在程序里写了这么句话 dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString();想获取选中行的某列值,以前用过一次没问题,但是这次用报了个错误,说Value没有实力话。Value为null.没想明白问题出在哪?
之前已经给DataGridView付过值了!请高手指点下!

解决方案 »

  1.   

    都有值,我一行中有10个字段呢,而且在DataGridView中已经显示出来了让我很费解
      

  2.   

    有可能出现问题的地方在哪啊?private void dataGridView_CellMouseUp(object sender, DataGridViewCellMouseEventArgs e)//右键        {
                
                if (e.Button == MouseButtons.Right)
                {
                    if (e.RowIndex >= 0)
                    {
                        dataGridView1.Rows[e.RowIndex].Selected = true;//右键时 选中全行
                        string cao = dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString();//获取选中行 中某列的值
                    }
                }
            }
      

  3.   

    一、你绑定的是DataTable还是实体类?
    二、DataGridView是自动添加的列还是你手动添加的列?
      

  4.   

    1 我用的DataTable2 DataGridView我先在属性中把列名都添加好了,然后在代码中创建的DataTable,给DataTable添加的列名和值,然后在付给 DataGridView
      

  5.   

    估计是第二步出的问题,你先试试直接把DataTable设置到没有任何列的DataGridView上面,自动创建列,然后试试连DataTable都自动创建列,手动创建必须要处理好列名和数据类型,一旦有小错误,都可能导致数据没有绑定成功,也就是null了(如果绑定成功,那么为空应该是DBnull.Value)
      

  6.   


     string cao = dataGridView1.Rows[e.RowIndex].Cells[2].Value.ToString();//获取选中行 中某列的值把您这句换成我写的这句
    this.dataGridView1.SelectedCells[0].Value.ToString();