我正在尝试复选一个复选框,如果值基本上是我的数据库中的1或0
一个名为Active (bit, not null)
的字段,我可以将值传递给gridview ..但是现在我正在尝试检查该位是否为1或未检查该位是否为0但它不起作用..它只是显示未选中,但该位为1。
<ItemTemplate>
<asp:CheckBox ID="ItemCheck" runat="server"
Enabled='<%# (DataBinder.Eval(Container.DataItem, "Active")) %>' />
</ItemTemplate>
非常感谢任何帮助
答案 0 :(得分:8)
试一试:
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%#Convert.ToBoolean(Eval("Active"))%>' .. />
你也可以这样做:
<asp:CheckBox ID="CheckBox1" runat="server" Checked='<%#((bool)Eval("Active"))%>' .. />
答案 1 :(得分:1)
您可以使用CheckBoxField
自动执行此操作,并且是GridView的默认子控件
<asp:GridView ......>
<Columns>
<asp:CheckBoxField DataField="Active" SortExpression="Active" />
</Columns>
</asp:GridView>
这完全是风格问题,但我更喜欢使用RadioButtonList
,因为它通常对用户来说更直观
<asp:TemplateField ....>
<ItemTemplate>
<asp:RadioButtonList ID="rblActive" runat="server"
SelectedValue='<%# Bind("Active") %>'
RepeatDirection="Horizontal">
<asp:ListItem Value="1">Enabled</asp:ListItem>
<asp:ListItem Value="0">Disabled</asp:ListItem>
</asp:RadioButtonList>
<ItemTemplate>
</asp:TemplateField>