我在DataGrid里设置其中一列的DataGridColumnStyle为DataGridBoolColumn类型,为了实现
该列所对应的数据表中列的内容以checkbox形式显示,但我用的是oracle数据库,没有bool数据
类型,我用1、0的方式表示true、false,如何能让DataGrid中该列的每一行根据1、0来在那列
中能显示成checkbox选中或没选中?急用,请多多帮忙!
该列所对应的数据表中列的内容以checkbox形式显示,但我用的是oracle数据库,没有bool数据
类型,我用1、0的方式表示true、false,如何能让DataGrid中该列的每一行根据1、0来在那列
中能显示成checkbox选中或没选中?急用,请多多帮忙!
为其所在的DataTable加一列bool型 newColumn
遍历Table所有行foreach (DataRow dataRow in dataSet.Tables[0].Rows)
{
dataRow["newColumn"] = (int)dataRow["原来那列的名字"] == 1 ? true : false;
}绑定这个 DataSet
绑定 newColumn 就会有 CheckBox 了
要么就直接对数据源的列进行替换 增加一个列为bool ,根据每行记录里的0或者1来设置bool值
((DataGridBoolColumn)myColumnStyle3).FalseValue = "0";
((DataGridBoolColumn)myColumnStyle3).TrueValue = "1";
DataGridTableStyle ts1 = new DataGridTableStyle();
ts1.MappingName = "zbloodkind";
dataGrid1.TableStyles.Add(ts1);DataGridColumnStyle boolCol = new DataGridBoolColumn();
boolCol.MappingName = "state";
boolCol.HeaderText = "审核";
boolCol.Width = 30;
((DataGridBoolColumn)boolCol).FalseValue = 0;
((DataGridBoolColumn)boolCol).TrueValue = 1;
ts1.GridColumnStyles.Add(boolCol);
<ItemTemplate> <asp:checkbox id=chk runat=server checked='<%# SetStatus(DataBinder.Eval(Container.Eval,"数据表的值">%>' />
根据 值 写个拦截 这个值的方法 SetStatus, 判断 是否是 1或0 ,返回true/false; </ItemTemplate> </TemplateColumn>后台代码public bool SetStatus(object obj)
{
if( obj.toSting()=="1") return true;
return fasle;
}