Преобразуйте тип ячейки в DataGridViewCheckBoxCell с помощью С# и привяжите его к значению

Я назначаю datatable для datagridview, используя источник данных, я хотел бы, чтобы активный столбец выглядел как флажок Пример: если активный столбец равен 0, флажок должен быть снят, а наоборот, может кто-нибудь помочь?


person Hza Developer    schedule 12.04.2018    source источник


Ответы (2)


Как выглядит ваш запрос к базе данных? Если вы хотите, чтобы ваш столбец был отмечен или не отмечен, самое простое решение - преобразовать одно из ваших значений в запросе sql в бит. В 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;
    }
person blackRose    schedule 12.04.2018

Я решил это,
я добавил столбец флажок из режима конструктора и добавил значение true/falsevalue, затем после назначения источника данных я поставил:
grid_dtstock.Columns["clmActive"].DataPropertyName= "active";
«активный»: это имя мой столбец из mysql
"clmActive": это имя столбца, который я добавил
в любом случае спасибо.

person Hza Developer    schedule 12.04.2018