【问题标题】:Loop through dynamic radio buttons if it check status Y/N如果检查状态是/否,则循环通过动态单选按钮
【发布时间】:2014-04-22 12:51:14
【问题描述】:

我需要建议...

我有一个表单,其中包含带有用户控件的生成面板的数量(用户控件包含在运行时生成的单选按钮)。 http://tinypic.com/r/vq4kds/8(winform的结构)

我看到了这个帖子:loop through a dynamic form and panel and check if radio buttons check or not

值是从 MySQL 数据库分配的,所以我需要对照数据库检查这个单选按钮。无线电的名称也由循环分配: 来自:

"radioButton1_"+[i].ToString();

收件人:

"radioButton4_"+[i].ToString();

例如: 我将有 10 组 4 个单选按钮。 (40 台收音机)我应该将它们的状态保存到数组中吗? 像这样 [0,0,0,1,1,0,0,0,...]。我需要机会对照数据库进行检查。

我很欣赏一些简单的解决方案。

【问题讨论】:

    标签: c# mysql winforms


    【解决方案1】:

    我的建议是遍历 winform 中的面板。对于每个面板,获取用户控件。然后,循环遍历用户控件中的每个控件。如果控件是 RadioButton,则对照数据库检查它。我不确定您是如何将单选按钮与数据库匹配的,但也许 RadioButton 的 Text 属性匹配。

    伪代码:

    foreach Control panel in winform.Controls:
        // Type check
        if panel is Panel:
            // Get the user control from the panel
            UserControl usrCtrl = panel.usercontrol as UserControl
            foreach Control control in usrCtrl.Controls:
                // Type check
                if control is RadioButton:
                    // do database stuff
    

    编辑: 我建议在从数据库分配值时设置 RadioButtons 的 Tag 属性。 Tag 属性可以包含您想要的任何内容。例如,您可以将 Tag 设置为 YourTableName.YourColumnName。这样您就可以跟踪 RadioButton 对应的字段。

    【讨论】:

    • 对不起我的错误。我说值是从数据库分配的,但这并不完全正确。由于多行单选的问题,我使用经典标签作为单选按钮的描述。所以我只能检查状态(1/0)。
    • 这个UserControl usrCtrl = panel.usercontrol as UserControl 的语法正确吗?
    • 是伪代码。语法可能不正确,但意图应该很清楚。由于您没有发布太多代码,因此我无法比这更具体。
    猜你喜欢
    • 2013-09-20
    • 2020-04-10
    • 1970-01-01
    • 2018-07-23
    • 2012-12-15
    • 1970-01-01
    • 2017-05-08
    • 2017-02-17
    • 2016-07-30
    相关资源
    最近更新 更多