如何将GridView中的CheckBoxField绑定到作为字符串的基础数据库字段。字符串是“1”或“0”,但GridView不会自愿绑定它。我该怎么办。在GridView中使用复选框并让它在数据库(或基础数据源)中获取和设置字符串的最佳方法是什么。
答案 0 :(得分:6)
这应该有效:
Checked='<%# DataBinder.Eval(Container.DataItem, "MyStringField") = "1" %>'
通常,复选框值将映射到数据库中的位值,因此您不会遇到此问题。
答案 1 :(得分:1)
CheckBoxField绑定到布尔值。 您可以将字符串转换为绑定表达式中的布尔值,也可以将其转换为db return。
数据库将复选框状态存储为位而不是字符串更有意义。那么这个问题就会完全消失。
当然,如果您需要存储第三个“灰色”状态,这会使问题稍微复杂化,但您仍然可以将状态存储为int。
答案 2 :(得分:1)
我在VB工作,我尝试了类似的东西
<asp:checkbox runat="server" id="chkCastCool" enabled="false"
checked='<%CType(DataBinder.Eval(Container.DataItem,"Cast_Cool").ToString().Replace("Y","True").Replace("N","False"),Boolean)%>'/>