我有一个ListView,每行包含3个复选框。我想设置它,以便一次只能选择一个复选框。这是我当前的CodeBehind ......从ListView控件如何在ListView中一次只检查一个复选框?
Public Class MyClass
Dim Checkbox1 As Checkbox
Dim Checkbox2 As Checkbox
Dim Checkbox3 As Checkbox
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
InitializeDisplay()
If Not IsPostBack Then
UpdateDisplay()
End If
End Sub
Protected Sub UpdateDisplay()
Dim Table As DataTable
Table = GetDataTable()
ListView.DataSource = Table
ListView.DataBind()
End Sub
Private Sub ListView_ItemDataBound(sender, e) Handles ListView.ItemDataBound
Dim item As ListViewItem = e.Item
Checkbox1 = item.FindControl("Checkbox1")
Checkbox2 = item.FindControl("Checkbox2")
Checkbox3 = item.FindControl("Checkbox3")
End Sub
Public Sub CheckBox1_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim Checkbox2 As CheckBox = TryCast(sender, CheckBox)
Dim Checkbox3 As CheckBox = TryCast(sender, CheckBox)
Checkbox2.Checked = False
Checkbox3.Checked = False
End Sub
Public Sub CheckBox2_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim Checkbox1 As CheckBox = TryCast(sender, CheckBox)
Dim Checkbox3 As CheckBox = TryCast(sender, CheckBox)
Checkbox1.Checked = False
Checkbox3.Checked = False
End Sub
Public Sub CheckBox3_CheckedChanged(ByVal sender As Object, ByVal e As EventArgs)
Dim Checkbox1 As CheckBox = TryCast(sender, CheckBox)
Dim Checkbox2 As CheckBox = TryCast(sender, CheckBox)
Checkbox1.Checked = False
Checkbox2.Checked = False
End Sub
End Class
实际的WebForm的ItemTemplate
<ItemTemplate>
<asp:Checkbox ID="CheckBox1" OnCheckedChanged="CheckBox1_CheckedChanged" runat="server" />
<asp:Checkbox ID="CheckBox2" OnCheckedChanged="CheckBox2_CheckedChanged" runat="server" />
<asp:Checkbox ID="CheckBox3" OnCheckedChanged="CheckBox3_CheckedChanged" runat="server" />
</ItemTemplate>
让我知道如果我需要包括别的。现在,当我点击一个复选框,并选择了另一个复选框时,两者都被选中,而不仅仅是新的...任何想法?谢谢!
不[单选按钮](http://msdn.microsoft.com/en-us/library/xke2zw4x(V = vs.71)的.aspx )做到这一点 – 2012-02-06 23:42:02
@TomIngram,我试图用单选按钮,仍然有同样的效果。除了他们不会“取消选中”,我还想使用复选框,因为如果可能的话,它们看起来更好。谢谢! – daveomcd 2012-02-06 23:44:44
我认为,作为一个用户,你希望能够从一组复选框中做出多个选择,并从一组单选按钮中选择一个,这使得IMHO成为多年来的固有UI设计[见这里](http:///jsfiddle.net/AFDZh/)使用jquery进行演示,以允许不可检查的单选按钮 – 2012-02-07 00:15:20