tinyint在gridview上显示为复选框?

时间:2015-09-21 01:50:29

标签: c# gridview

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

表格中的代码

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;
} 

无法发布图片但会变成复选框。可以变成布尔值吗?如何将其显示为字符串?

1 个答案:

答案 0 :(得分:0)

是的,它正在变成一个布尔值。将它变成字符串的很多方法。使用自定义格式,自定义列,从数据库中投射等等。

强制MySql连接器执行此操作: 根据{{​​3}},只需将TreatTinyAsBoolean=false添加到您的连接字符串。

但是,我只想在GridView中使用自定义列,因为大多数情况下我希望将布尔值显示为复选框,这样可以更好地控制我想要显示为文本与复选框的那些。

添加必须string sql = "select * from table1 where yearmonth= '"+yearmonth+"'";是不好的。不要这样做。