mysql数据库没有bool类型,如何把应该是bool类型的字段对应到DataGridBoolColumndt = CreateClientsTable();
MySQLDataAdapter dataAdapter = new MySQLDataAdapter(strCmd, dbFactory.Conn);
dataAdapter.Fill(dt);private DataTable CreateClientsTable()
{
  DataTable table = new DataTable();  DataColumn checkCol= new DataColumn("checked", typeof(int), null, System.Data.MappingType.Element);//这里只能是int或者string类型
...
...
  return table;
}

DataGridTableStyle tableStyle = new DataGridTableStyle();
System.Windows.Forms.DataGridBoolColumn checkCol = new System.Windows.Forms.DataGridBoolColumn();
checkCol.MappingName = "checked";
checkCol.HeaderText = "";
checkCol.Width = 40;
tableStyle.GridColumnStyles.Add(checkCol);
这个样子是无法对应出来的。
怎么样才能在界面显示checkbox列????

解决方案 »

  1.   

    自以为对mysql有点了解
    看了楼主的问题才发现自己还是一年前的那只小鸟
    帮楼主顶一下
      

  2.   

    其实什么类型对应到控件的显示没有太大的关系,你只需要在显示上面进行处理就好了
    DataGrid的DataItemBound事件进行控制就行
      

  3.   

    ItemBound 事件发生在数据绑定到datagrid后,而其内容发送到客户端前而我的要求在绑定的时候就不行了把。
    ItemBound只是数据显示问题,例如性别字段,数据库的值为1显示为男之类的
      

  4.   

    我的替代方法MySQLDataAdapter dataAdapter = new MySQLDataAdapter(strCmd, dbFactory.Conn); 
    dataAdapter.Fill(dt); 
    使用MySQLDataReader,循环给table赋值
    while(reader.read())
    {
       DataRow row = dt.newRow();
       row["check"] = reader["check"].ToString().Equals("1")?true:false;
       ...
       dt.rows.add(row);
    }
    这个样子就可以使用DataGridBoolColumn()做mapping了。