【发布时间】:2012-02-28 10:49:40
【问题描述】:
我有一个 ListView,每行包含 3 个复选框。我想设置它,以便一次只能选择一个复选框。这是我目前的 CodeBehind...
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
来自 ListView 的实际 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>
如果我需要添加任何其他内容,请告诉我。现在,当我单击一个复选框并选中另一个复选框时,两个复选框都被选中,而不仅仅是新的...有什么想法吗?谢谢!
【问题讨论】:
-
不要radio buttons这样做
-
@TomIngram,我尝试使用单选按钮,但效果仍然相同。除了他们不会“取消选中”之外,我还想使用复选框,因为如果可能的话它们看起来更好。谢谢!
-
我认为作为用户,您希望能够从一组复选框中进行多项选择,并从一组单选按钮中进行一次选择,恕我直言,多年来这一直是一种内在的 UI 设计@ 987654322@ 用于演示使用 jquery 以允许不可选中的单选按钮
标签: asp.net vb.net listview checkbox