【问题标题】:Check only one checkbox at a time using checkboxlist使用 checkboxlist 一次只检查一个复选框
【发布时间】:2015-03-30 08:06:51
【问题描述】:

我有一个 dropdownlistemployees types ( Project Manager, developer , qa 等)。以及需要分配给每个员工类型的任务的复选框列表。 但是对于开发人员来说,一次只会有一个任务。即一个人一次只能将一项任务分配给开发人员。如果他选择了第二个,第一个选项应该不被选中。对于其他有多项任务的员工,它的工作正常。但是如何检查开发者案例?

我使用了下面的代码,但它在编辑、更新时产生了问题。同样,当我为开发人员选择一项任务时,所有其他复选框都会被禁用,我无法更改任务。

 If dt.Rows.Count > 0 Then
        Dim developer As Boolean = Convert.ToBoolean(dt.Rows(0)(0).ToString())
        If developer Then
            For Each li As ListItem In cblTaskType.Items
                If Not li.Value = employeeType Then
                    li.Selected = False
                    li.Enabled = False
                End If

            Next

【问题讨论】:

  • 有什么代码可以分享给我们吗?
  • 您可以通过使用 Javascript 或 JQuery 的客户端代码来执行此操作。
  • 感谢@Selva,但我想在 VB.net 中执行此操作。
  • stackoverflow.com/questions/3655068/… 为我工作。谢谢大家

标签: asp.net vb.net checkboxlist


【解决方案1】:

你可以使用下面的代码.. 使用 checkedListBox1 的 SelectedIndexChanged 事件。

private void checkedListBox1_SelectedIndexChanged(object sender, EventArgs e)
           {
               int iSelectedIndex = checkedListBox1.SelectedIndex;
               if (iSelectedIndex == -1)
                   return;
               for (int iIndex = 0; iIndex < checkedListBox1.Items.Count; iIndex++)
                   checkedListBox1.SetItemCheckState(iIndex, CheckState.Unchecked);
               checkedListBox1.SetItemCheckState(iSelectedIndex, CheckState.Checked);
           }

你也可以参考这个Link

【讨论】:

    【解决方案2】:

    我遇到了同样的问题...我将其更改为单选按钮列表并将所有单选按钮加入同一组(在属性中)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-04
      • 2022-07-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多