先看图
我想用checkbox表示  1的话 checkbox就选中 否则就不选择!(在不改变数据库字段类型的情况下)百度 Google上都输追加checkbox的方法 我想直接显示成checkbox  不是1 或0

注意是winform

解决方案 »

  1.   

    你的字段是数值型的吧?如果是bit,绑定datagridview自动就是显示checkbox。datagridivew可以设置列的类型,你在论坛里稍微搜一下就知道了。
      

  2.   

    DataGridViewCheckBox
    foreach (DataGridViewRow dr in this.dataGridView1.Rows) 

        DataGridViewCheckBoxCell cbx = (DataGridViewCheckBoxCell)dr.Cells[0]; 
        if (!(bool)cbx.FormattedValue) 
          { 
              DataGridViewCheckBoxCell.Value = true; 
        } 

      

  3.   

    private void button1_Click(object sender, EventArgs e)
    {
        DataGridView view = dataGridView1;    DataTable dt = new DataTable();
        dt.Columns.Add("name");
        dt.Columns.Add("a");
        dt.Columns.Add("s");
        dt.Columns.Add("d");
        dt.Columns.Add("f");
        dt.Rows.Add("ssasss","1","0","0","1");
        dt.Rows.Add("sdfa", "0", "0", "1", "1");
        dt.Rows.Add("ssggdss", "1", "0", "0", "1");
        dt.Rows.Add("sshfdhfdss", "1", "1", "0", "0");
        dt.Rows.Add("ssskjfgs", "1", "0", "1", "0");
        
        view.Columns.Add(new DataGridViewColumn(new DataGridViewTextBoxCell()));
        view.Columns.Add(new DataGridViewColumn(new DataGridViewCheckBoxCell()));
        view.Columns.Add(new DataGridViewColumn(new DataGridViewCheckBoxCell()));
        view.Columns.Add(new DataGridViewColumn(new DataGridViewCheckBoxCell()));
        view.Columns.Add(new DataGridViewColumn(new DataGridViewCheckBoxCell()));    view.Rows.Add(dt.Rows.Count-1);
        for (int i = 0; i < dt.Rows.Count; i++)
        {
            for (int j = 0; j < dt.Columns.Count; j++)
            {
                if (j == 0)
                    view.Rows[i].Cells[j].Value = dt.Rows[i][j].ToString();
                else
                    view.Rows[i].Cells[j].Value =dt.Rows[i][j].ToString()=="1"? true:false;
            }
        }
    }
      

  4.   

    先托一个干净的dataGridView1控件
      

  5.   

    直接在DataGridView中可视化设计你的列,列的类型选择DataGridViewCheckBoxCell,这样这一列就会根据是0还是1,自动checked或者不checked
      

  6.   

    checkbox.checked = ture ? 0 : 1;
      

  7.   

    checkbox.checked ? 0 : 1;
      

  8.   

    不改变数据库字段类型就要在生成DataGridVIew上做。
    DataGridVIew禁止自动生成列。
    然后手动添加所有显示列,这是可以选择DataGridViewCheckBoxColumn,之后与字段绑定
    dataGridView1.Columns["列名"].DataPropertyName = "数据字段名";