none
DataGridViewCheckBoxColumn 列的值总是不能准确的读取false true,怎样设置和读取出cell的准确值? RRS feed

  • 问题

  • colBool.TrueValue = true;
                    colBool.FalseValue = false ;
                    colBool.IndeterminateValue = false;
    第一次 点击 checkBox然后存储起来 可以存储正确的bool值
    点来点去后  就不能存储准确的值了
    存储时用的是 Convert.ToBoolean(cell.Value).ToString() 转化成文本
    转来转去的就错了
    最开心的是今天有收获。
    2009年6月28日 15:25

答案

全部回复

  • 直接用findcontrol,不一定用位于第几cell
    2009年6月28日 23:11
  • 建议数据库中的数据类型改为 bit 用于存储C# 中的 bool 类型; 


    知识改变命运,奋斗成就人生!
    2009年6月29日 1:15
    版主
  • 你这样写试试
     private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
    {
            if(e.RowIndex>= 0)
                {
                    if (((DataGridViewCheckBoxCell)dataGridView1.Rows[e.RowIndex ].Cells[0]).EditedFormattedValue.ToString() == "False")
                        ((DataGridViewCheckBoxCell)dataGridView1.Rows[e.RowIndex ].Cells[0]).Value = true;
                    else
                        ((DataGridViewCheckBoxCell)dataGridView1.Rows[e.RowIndex ].Cells[0]).Value = false;
                }



    }


    努力+方法=成功
    2009年6月29日 8:49