以编程方式检查复选框

Posted

技术标签:

【中文标题】以编程方式检查复选框【英文标题】:Programmatically check a checkbox 【发布时间】:2012-05-16 20:46:23 【问题描述】:

我正在从数据库中读取值(布尔值),如果为真,我希望它选中一个复选框,如果为假,则保持未选中该复选框。线条如下所示:cblEnergy.Items.FindByValue(1).Selected = track_usage

在这种情况下,track_usage 是一个布尔值。

这种方式实际上并没有像我想要的那样在复选框中创建复选标记。最好的方法是什么?

【问题讨论】:

发生了你没想到的事情? 你的 track_usage = false 吗? :-) 我希望复选框被选中并被视为已为程序的其他部分选中。我希望通过将其设置为 true,它会是 true,但事实并非如此。 @Steve -> 不,这不是假的 FindByValue 默认查找字符串值。传递它 1 可能不会给你你正在寻找的结果。 msdn.microsoft.com/en-us/library/… 【参考方案1】:

如果 cb1Energy 是 CheckBoxList 那么你会使用:

  Dim li_chkbox = cblEnergy.Items.FindByValue("1")
  If (li_chkbox != null) then
     li_chkbox.Selected = track_usage
  End if

【讨论】:

我看不出这与我所拥有的有什么不同...需要解释一下吗? 这完全取决于您是否可以告诉我您在<asp/>中编写的代码 老实说,所有代码都发布在 pastebin 上。我的 VB 代码:pastebin.ca/2149545 html:pastebin.ca/2149566 好吧,现在我看到了新链接 149566 ` ` <asp:ListItem Value="1"> Track electricity usage, fuel usage, and natural gas usage and share data with employees</asp:ListItem> <asp:ListItem Value="2"> Develop a policy/procedure strategy to conserve energy/increase renewable energy use</asp:ListItem> 您确实在 ListItem 值中使用了字符串 - "1""2"。尝试更改,看看它是否有效。

以上是关于以编程方式检查复选框的主要内容,如果未能解决你的问题,请参考以下文章

如何以编程方式更改复选框选中的颜色

区分用户更改 Checkbox.Checked 值还是以编程方式更改

以编程方式检查核心数据实体是不是被索引

如何以编程方式检查(解析)SQL 语句的有效性?

编程创建的复选框上出现空对象引用错误

如何检查复选框已被单击