从数据网格视图中获取一个布尔值到复选框中

get a boolean into a checkbox from a datagridview

我试图通过单击数据网格获取值...我从文本框和组合框获取值...但是当我尝试从布尔值中获取值时,表单不起作用...

  private void dtg_CellClick(object sender, DataGridViewCellEventArgs e)
    {
        if (dtg.CurrentRow != null)
        {
            txtId.Text = dtg.CurrentRow.Cells["ID"].Value.ToString();
            txtCode.Text = dtg.CurrentRow.Cells["CODE"].Value.ToString();
            //BOOLEAN
            ckbActive.Checked = Convert.ToBoolean(dtg.CurrentRow.Cells["ACTIVE"].ToString());

我需要的是获取 ckbActive 表单控件中 "ACTIVE" 列的值...

直接在单元格上调用 ToString() 可以获得列类型的名称 (即 "DataGridViewTextBoxCell" 或类似), 不能转换为有效的布尔值:

ckbActive.Checked = Convert.ToBoolean(dtg.CurrentRow.Cells["ACTIVE"].ToString());

单元格的实际值可通过 Value 属性 访问,因此请改用:

ckbActive.Checked = Convert.ToBoolean(dtg.CurrentRow.Cells["ACTIVE"].Value);