gpt4 book ai didi

asp.net - 如何隐藏复选框列表中未选中的项目?

转载 作者:数据小太阳 更新时间:2023-10-29 02:09:06 24 4
gpt4 key购买 nike

我有一个复选框列表,它从 XML 文件中获取数据。如果用户在复选框列表中选择了一个项目,我只想显示该项目并隐藏其他所有内容。在此之下,我想添加可点击的文本,让用户选择其他内容。因此,如果用户单击该文本,用户将再次看到选中第一项的复选框列表。

基本上是这样的。 exampe那么我们如何实现这一目标呢?

非常感谢。

需要使用 vb.net/和复选框列表控件,因为我们将从数据库动态绑定(bind)数据。

最佳答案

这是一种方法。使用两个面板作为两个不同 CheckBoxList 的容器。第一个显示您的“FROM”-Items,后者显示您的“TO”-Items。

第二个面板最初是不可见的。除了 CheckBoxList 之外,它还包含一个 LinkBut​​ton 来触发取消选择。

BtnSelect 上-单击您会将所选项目从第一个添加到第二个 CheckBoxList 并显示它的面板。在 BtnChangeSelection - 单击您只需要切换两个面板的可见性并选择第一个项目。

这已经适用于多选。

ASPX(CSS 由您决定):

<div>
<asp:Panel ID="PnlChkListAcademicYear" runat="server">
<asp:CheckBoxList ID="ChkListAcademicYear" runat="server" /><br />
<asp:LinkButton ID="BtnSelect" Text="Select" runat= "server" ></asp:LinkButton>
</asp:Panel>
<asp:panel ID="PnlChkListAcademicYearActive" Visible="false" runat="server">
<asp:CheckBoxList ID="ChkListAcademicYearActive" Enabled="false" runat="server" /><br />
<asp:LinkButton ID="BtnChangeSelection" Text="Change selection" runat= "server" ></asp:LinkButton>
</asp:panel>
</div>

代码隐藏:

Private Sub BtnSelect_Click(sender As Object, e As System.EventArgs) Handles BtnSelect.Click
If Me.ChkListAcademicYear.SelectedIndex <> -1 Then
Dim selectedItems = (From item In Me.ChkListAcademicYear.Items.Cast(Of ListItem)() Where item.Selected).ToArray
Me.ChkListAcademicYearActive.Items.Clear()
Me.ChkListAcademicYearActive.Items.AddRange(selectedItems)
Me.PnlChkListAcademicYearActive.Visible = True
Me.PnlChkListAcademicYear.Visible = False
End If
End Sub

Private Sub BtnChangeSelection_Click(sender As Object, e As System.EventArgs) Handles BtnChangeSelection.Click
Me.ChkListAcademicYear.SelectedIndex = 0
Me.PnlChkListAcademicYearActive.Visible = False
Me.PnlChkListAcademicYear.Visible = True
End Sub

为了完整起见,这是我的示例代码的其余部分:

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
BindCheckboxList()
End If
End Sub

Private Sub BindCheckboxList()
Me.ChkListAcademicYear.DataSource = GetData()
Me.ChkListAcademicYear.DataTextField = "Year"
Me.ChkListAcademicYear.DataBind()
End Sub

Private Function GetData() As DataTable
Dim years = {"2010/2009", "2009/2008", "2008/2007", "2007/2006", "2006/2005", "2005/2004", "2004/2003"}
Dim tbl = New DataTable
tbl.Columns.Add(New DataColumn("Year"))
For Each y In years
tbl.Rows.Add(y)
Next
Return tbl
End Function

关于asp.net - 如何隐藏复选框列表中未选中的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9007980/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com