我有一個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