Como llenar un DataGridView desde un DataTable creada desde MySql con una columna tipo checkbox en C#?

publicado por: Anonymous

Quiero llenar un datagridview con una consulta a esta tabla introducir la descripción de la imagen aquí

con la que lleno un datatable de esta forma:

public DataTable VistaTabla()
    {
        instruccion = "select * from pedido";
        MySqlDataAdapter adp = new MySqlDataAdapter(instruccion, conexion());
        DataTable consulta = new DataTable();
        adp.Fill(consulta);
        return consulta;

    }

y el datagridview lo lleno asi

dataGridView1.DataSource = obje.VistaTabla();

La cuestion aqui es que quiero que el campo que tengo como “pagada” quiero que en el datagridview se muestre como un checkbox ( de ser necesario puedo cambiar el tipo de campo) , alguien que me pueda apoyar en como mostrarlo de esta forma ( Si es ‘N’ que el checkbox esta desmarcado y si es ‘S’ que este marcado)

solución

Esta claro que un char(1) no es un boolean para que pueda se representado como checkbox

podrias definirlo en la consulta

 string instruccion = @"select campo1, 
                            campo2, 
                            campo3 = CASE 
                                        WHEN campo3 = 'S' THEN yes 
                                        ELSE false 
                                     END
                    from pedido";

si defines los campos podras convertir el S/N en un valor boolean para usarlo en el grid como checkbox

CASE (Transact-SQL)

Ademas recomendaria que definas las columnas en diseños usando la propiedad “DataPropertyName” para indicar cada columna del grid con que campo de la tabla mapea

introducir la descripción de la imagen aquí

Definiendo las columnas tendras un mayor control como estas se representan pudiendo definir que sea del tipo DataGridViewCheckBoxColum

Respondido por: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *