方法一:
如果你的sql是这样的
select boolfield,textfield from xxxTable where ....
那么修改为
select (cast when boolfield 1 then '是' else '否' end) as boolfieldEx,textfield from xxxtable where ....
也就是说,在记录集里就把bool类型字段换为text类型字段
方法二:
全部都指定为DataGridTextBoxColumn 作为列,如果你没增加dataGridTableStyle,那么dataGrid在设置数据源之后会自动根据字段类型来分配,你唯一要作的就是象下面的代码那样指定每一列的风格;另外,dataGrid的列风格只支持布尔型和文本型。
// 创建风格
DataGridTableStyle dbTs = new DataGridTableStyle();
// 你的字段一的风格
System.Windows.Forms.DataGridTextBoxColumn column = new DataGridTextBoxColumn();
column.NullText = "" ;
column.HeaderText = " 你的字段标题名1 " ;
column.MappingName = " 你的字段名1 " ;
column.Width = 100 ;
dbTs.GridColumnStyles.Add(column);
// 你的字段二的风格
System.Windows.Forms.DataGridTextBoxColumn column = new DataGridTextBoxColumn();
column.NullText = "" ;
column.HeaderText = " 你的字段标题名2 " ;
column.MappingName = " 你的字段名2 " ;
column.Width = 100 ;
dbTs.GridColumnStyles.Add(column);
// 加入风格
DataGrid.TableStyles.Clear();
DataGrid.TableStyles.Add(dbTs);
// 创建风格
DataGridTableStyle dbTs = new DataGridTableStyle();
// 你的字段一的风格
System.Windows.Forms.DataGridTextBoxColumn column = new DataGridTextBoxColumn();
column.NullText = "" ;
column.HeaderText = " 你的字段标题名1 " ;
column.MappingName = " 你的字段名1 " ;
column.Width = 100 ;
dbTs.GridColumnStyles.Add(column);
// 你的字段二的风格
System.Windows.Forms.DataGridTextBoxColumn column = new DataGridTextBoxColumn();
column.NullText = "" ;
column.HeaderText = " 你的字段标题名2 " ;
column.MappingName = " 你的字段名2 " ;
column.Width = 100 ;
dbTs.GridColumnStyles.Add(column);
// 加入风格
DataGrid.TableStyles.Clear();
DataGrid.TableStyles.Add(dbTs);
你把布尔字段列指派为DataGridTextBoxColumn,不用DataGridBoolColumn 列风格即可。