这是没有办法的事情,BOOL必须对应于BIT型。如果你想根据NUMERIC的值进行判断来确定BOOL的值的真假,那么你可以通过自定义列来实现:在自定义列中,使用一个CHECKBOX控件,然后绑定CHECKBOX的CHECKED到NUMERIC字段,但在绑定过程中要对NUMERIC进行处理,比如:<%#int.Parse(DataBinder.Eval(Container.DataItem,"Numeric").ToString())>=0?True:False%>或<%#this.BoolValue(DataBinder.Eval(Container.DataItem,"Numeric").ToString())%>
然后在代码中编写一个方法:
protected bool BoolValue(string blString)
{
int iTemp=int.Parse(blString);
if(iTemp>=0)
return True;
else
return False;
}
然后在代码中编写一个方法:
protected bool BoolValue(string blString)
{
int iTemp=int.Parse(blString);
if(iTemp>=0)
return True;
else
return False;
}
1.不要使用原来的 datagridboolcolumn,而是建立一个自定义列.
2.采用一个间接的手段来获得真或假.正如triout上面的绑定表达式
<%#int.Parse(DataBinder.Eval(Container.DataItem,"Numeric").ToString())>=0?True:False%>
或者,后一种方法一样.你试试看.我也学习了一把,哈哈