for (int i = 0; i < cGoods.Rows.Count; i++)
                    {
                        object obj = cGoods.Rows[i].Cells[0].Value;
                        if (obj.ToString().Equals("1")&&obj!=null)
                        {
                            int id = Convert.ToInt32(cGoods.Rows[i].Cells[2].Value.ToString());
                        }
                    }
cGoods里面的DataGridViewCheckBoxColumn 的FaslseValue="0",TrueValue="1",IndeterminateValue = "0";
在DataGridViewCheckBoxColumn没选中的情况下取回来的值都是null 困扰了我一个早上了 求助各位大侠

解决方案 »

  1.   

    if (obj.ToString().Equals("1")&&obj!=null)
    obj!=null 应该放在前面
    不过这不是出问题的原因,CheckBoxColumn 那列的索引是 0 吗? 列是不是通过设计窗体创建的?
      

  2.   

    将cGoods里面的DataGridViewCheckBoxColumn 的FaslseValue=false,TrueValue=true         for (int i = 0; i < dataGridView1.Rows.Count; i++)
                {
                    DataGridViewCheckBoxCell chk = (DataGridViewCheckBoxCell)dataGridView1.Rows[i].Cells[0];
                    if ((Boolean)chk.EditedFormattedValue == true)
                         int id=1;                
                    else
                         int id=0;
                }