如何让CheckBoxList有三种可能的状态?

时间:2013-05-21 16:41:20

标签: c# asp.net

如何让CheckBoxList有三种可能的状态?更准确地说,有没有办法为每个复选框提供三种可能的状态:选中,未选中,未定义(在大多数GUI中,这表示为一个完整的方块)。

或者,您是否建议另一个满足这些需求的控件?

UPDATE :好的,鉴于HTML不支持三态复选框,我正在寻找一种方法来'CSS'(颜色填充,突出显示等...)复选框从我的服务器角度来看处于“未定义”状态的项目。

4 个答案:

答案 0 :(得分:5)

并非所有GUI都表示未定义为完整正方形。这就是为什么使用以下之一会更清楚:
1. Radio boxes
2. Dropdown
3. ListBox

答案 1 :(得分:2)

您使用的任何asp.net控件最终都需要呈现为html复选框,只能选中或取消选中。您可以使用数据属性来跟踪幕后的额外状态,但这不会反映在UI中。

我想你也可以使用JavaScript和CSS实现客户端解决方案。

答案 2 :(得分:2)

您可以从CheckBoxList扩展或派生,并从中创建自己的自定义控件。

这是一个例子。

Custom CheckBoxList

答案 3 :(得分:0)

我决定使用CheckBoxList,因为我需要用户可以访问的两个状态,而第三个状态是用户无法访问但显示不一致的状态。

我解决这个问题的方法是通过Javascript + CSS。这里有一些想法:http://css-tricks.com/indeterminate-checkboxes/