Tinyint在gridview上显示为复选框

本文关键字:复选框 显示 gridview Tinyint | 更新日期: 2023-09-27 18:13:52

我有几个数据列从我的MySQL数据库,类型是tinyint(1)

my code in form

DataTable dt = new DataTable();
dt = PC.getValue(textBox.Text);
dataGridView1.DataSource = dt;
dataGridView1.AutoResizeColumns();

和MyQuery

public DataTable getValue(string yearmonth)
{
    connSIMRS.Open();
    MySqlCommand command = new MySqlCommand();
    string sql = "select * from table1 where yearmonth= '"+yearmonth+"'";
    command.CommandText = sql;
    command.Connection = connSIMRS;
    //command.EndExecuteNonQuery();
    MySqlDataAdapter da = new MySqlDataAdapter(command);
    DataTable dt = new DataTable();
    da.Fill(dt);
    //MessageBox.Show("");
    connSIMRS.Close();
    return dt;
} 

不能发布图片,但它变成了一个复选框。它能被转换成布尔值吗?如何将其显示为字符串?

Tinyint在gridview上显示为复选框

是的,它正在被转换为布尔值。有很多方法可以把它变成字符串。使用自定义格式、自定义列、从数据库强制转换等。

强制MySql连接器这样做:根据MySQL连接器文档,只需将TreatTinyAsBoolean=false添加到您的连接字符串。

然而,我只会在GridView中使用自定义列,因为大多数情况下我想要布尔值显示为复选框,这允许更好地控制我想要显示为文本和复选框。

添加必填项string sql = "select * from table1 where yearmonth= '"+yearmonth+"'";为bad。永远不要这样做。