关于将数据库中的bit型数据绑定到DataGrid中的CheckBox的Checked属性的问题。
2006-12-28 11:16
633 查看
<asp:CheckBox id=RiskFormCheckBox runat="server" Checked='<%# (bool)DataBinder.Eval(Container.DataItem, "RiskForm") %>'">
</asp:CheckBox>
用以上的语句将数据库中的bit型数据绑定到DataGrid中的CheckBox的Checked属性时,出现错误:
System.InvalidCastException: Specified cast is not valid.
后来发现可能是从数据库中取出的bit型数据中存在空值的在原因。
后来使用以下的语句还是出现错误:
<asp:CheckBox id=RiskFormCheckBox runat="server" Checked='<%# Convert.ToBoolean(DataBinder.Eval(Container.DataItem, "RiskForm")) %>' </asp:CheckBox>
最让我不明白的是我用下面的这段代码,既不报错,也不能正确将数据绑进去。郁闷,为什么绑定的那个语句的值没被赋给Checked呢:
<asp:CheckBox id=RiskFormCheckBox runat="server" Checked='<%# DataBinder.Eval(Container.DataItem, "RiskForm")=="True" %>' </asp:CheckBox>
没办法只能自己写一个方法,然后将Checked属性绑定到这个方法中了。
在.cs文件中增加了一个方法ConvertToBoolean:
1 public bool ConvertToBoolean(string str)
2<asp:CheckBox id=RiskFormCheckBox runat="server" Checked='<%# ConvertToBoolean(DataBinder.Eval(Container.DataItem, "RiskForm").ToString()) %>'>
</asp:CheckBox>
这样就可以正常显示了。
当然也可直接从源头上控制这种情况的发生,在查询数据库记录时使用IsNull方法了。
</asp:CheckBox>
用以上的语句将数据库中的bit型数据绑定到DataGrid中的CheckBox的Checked属性时,出现错误:
System.InvalidCastException: Specified cast is not valid.
后来发现可能是从数据库中取出的bit型数据中存在空值的在原因。
后来使用以下的语句还是出现错误:
<asp:CheckBox id=RiskFormCheckBox runat="server" Checked='<%# Convert.ToBoolean(DataBinder.Eval(Container.DataItem, "RiskForm")) %>' </asp:CheckBox>
最让我不明白的是我用下面的这段代码,既不报错,也不能正确将数据绑进去。郁闷,为什么绑定的那个语句的值没被赋给Checked呢:
<asp:CheckBox id=RiskFormCheckBox runat="server" Checked='<%# DataBinder.Eval(Container.DataItem, "RiskForm")=="True" %>' </asp:CheckBox>
没办法只能自己写一个方法,然后将Checked属性绑定到这个方法中了。
在.cs文件中增加了一个方法ConvertToBoolean:
1 public bool ConvertToBoolean(string str)
2<asp:CheckBox id=RiskFormCheckBox runat="server" Checked='<%# ConvertToBoolean(DataBinder.Eval(Container.DataItem, "RiskForm").ToString()) %>'>
</asp:CheckBox>
这样就可以正常显示了。
当然也可直接从源头上控制这种情况的发生,在查询数据库记录时使用IsNull方法了。
相关文章推荐
- 关于DataGrid数据绑定后对字段进行替换的问题与办法
- 关于jquery版本为1.6+使用checkbox的checked属性来判断一个checkbox是否被选中问题
- 关于c#中两个DataGrid绑定到主表和子表的数据同步问题
- 关于DataGrid数据绑定后对字段进行替换的问题与办法
- 关于asp.net中服务器端的checkbox没有value属性的问题
- 关于Asp.Net 服务器控件OnClientClick属性数据绑定
- 关于easyui中datagrid数据不显示的问题
- 请问关于从网络数据库获取数据 并显示的问题
- 关于数据库取出的数据回车换行符无法替换问题!
- 关于 checkBox的 checked的判断的问题
- jquery与checkbox的checked属性的问题
- 从别的数据库导入数据时主键和自增长字段属性丢失问题
- 关于Silverlight对匿名类型数据绑定的问题及其解决方法
- 关于JQuery设置checkbox checked 的问题
- 从数据库读取text属性数据,并比较内容是否相等的问题。
- 关于mybatis读取数据库字段text类型时,读出数据为地址,并不是字符串的问题
- 关于DataGrid以及GridView属性设置的问题
- 关于数据库插入数据出现乱码问题
- 数据绑定-关于画星星的问题
- 关于derby创建数据时,数据库存放目录问题