【问题标题】:Dynamically disable/enable checkboxlist items动态禁用/启用复选框列表项
【发布时间】:2009-06-19 05:42:54
【问题描述】:

我有一个 CheckBoxList,其中包含用户可以执行的服务列表...其中一些服务不能与其他一些服务一起执行,某些服务只能单独执行等等。

所有这些规则都存储在我的数据库中。

如果单击(选中/取消选中)服务,我是否可以禁用/启用(使不可单击)复选框列表项不能一起执行?

我只是想不通,因为我什至不知道如何获取最后点击项目的 Id..

【问题讨论】:

    标签: c# .net visual-studio-2008 checkbox


    【解决方案1】:

    您不能在每个单独的复选框上使用 selectedIndexChanged 事件吗?

    发送者应该是最后一个被点击的复选框,它们都可以调用相同的处理方法。

    【讨论】:

      【解决方案2】:

      checkBox1.Visible = false;

      如果他们看不到它,就不能点击它。

      【讨论】:

      • 这是一个 CheckBoxList,而不是单个复选框
      • 那么为什么不简单地切换到多个单独的复选框。这样你也可以告诉哪些事件被触发了。您可以将它们全部保存在一个数组列表中,并且仍然将它们连接到您的数据库。
      【解决方案3】:

      您需要捕获选择按钮时触发的事件;当您获得特定按钮被选中的事件时,您可以将其独有的其他按钮设置为禁用。

      【讨论】:

        【解决方案4】:

        不,您需要在列表框事件之一中自行处理。

        【讨论】:

        • 最好为不兼容的项目设置不同的列表框。如果您更改/阻止选择,用户可能会生气...
        【解决方案5】:

        没有内置方法来获取最后点击的项目。您可以使用在 CheckBoxList1.SelectedIndexChanged 上触发的迭代,但这对于大型列表和许多数据库命中来说非常耗时。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2020-12-03
          • 2020-11-14
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多