使用复选框列表一次只能选中一个复选框

时间:2015-03-30 08:06:52

标签: asp.net vb.net checkboxlist


我有dropdownlist employees types ( Project Manager, developer , qa等。以及需要分配给每个员工类型的任务的checkboxList。  但对于开发人员来说,一次只能执行一项任务。即一个人一次只能向开发人员分配一个任务。如果他选择第二个,则应该取消选中第一个选项。对于有多项任务的其他员工,其工作正常。但如何检查开发人员案例?

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

 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

2 个答案:

答案 0 :(得分:2)

您可以使用以下代码.. 使用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

答案 1 :(得分:0)

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