使用c#将单元格类型转换为DataGridViewCheckBoxCell并将其绑定到一个值

时间:2018-04-12 08:11:34

标签: c# datagridview datatable datagridviewcheckboxcell

我正在使用datasource将数据表分配给datagridview,我想使列活动看起来像一个复选框 例如:如果列活动等于0,则应取消选中该复选框,反之亦然 有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

您对数据库的查询如何?如果要检查或取消选中列,最简单的解决方案是将sql查询中的一个值转换为bit。在C#中,它将被视为bool列,它将显示为复选框列。例如:

public void LoadData(ref DataTable dt)
    {           
        using (var connection = new SqlConnection("your connection string here"))
        {
            connection.Open();                
            using (SqlCommand command = new SqlCommand(@"SELECT CONVERT(bit, ISNULL(yourSqlColumn which decides, 0)) as Active from yourTable ", connection))
            {                                                               
                using (SqlDataReader reader = command.ExecuteReader())
                {
                    dt.Load(reader);
                    reader.Close();                        
                }
            }
            connection.Close();
        }            
    }

以您的主要形式:

    public Form1()
    {
        InitializeComponent();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        DataTable dt = new DataTable();
        LoadData(ref dt);

        dataGridView1.DataSource = dt;
    }

答案 1 :(得分:0)

我解决了它 我在设计师模式中添加了一个复选框列,并添加了truevalue / falsevalue 然后在分配数据源后我把:
grid_dtstock.Columns["clmActive"].DataPropertyName= "active";
“active”:是我的专栏名称来自mysql
“clmActive”:是我添加的列的名称 谢谢你。