根据数据库中的行隐藏控件

用户

我在Windows Forms应用程序中显示了100个连续的按钮和复选框,并在其中保存了一些数字的数据库中。

我的目的是根据数据库中保存的数字隐藏按钮和复选框。例如,在我的数据库中,我有4个数字:2、4、9和10。因此,我想隐藏button2,checkbox2,button4,checkbox4,button9,checkbox9,button10,checkbox10。

这是我尝试过的:

SqlCeCommand cmnd = con.CreateCommand();
cmnd.CommandText = "SELECT * FROM register_db WHERE semester = @s AND department = @d AND course = @c";
cmnd.Parameters.AddWithValue("@s", semester);
cmnd.Parameters.AddWithValue("@d", department);
cmnd.Parameters.AddWithValue("@c", course);

SqlCeDataReader rd = cmnd.ExecuteReader();

while (rd.Read())
{
    string number = rd[0];
    button[number].hide();
    checkbox[number].hide();
    // these are the main things that I didn't know how to do                   
}
大卫

所有Windows窗体控件都有一个.Hide()方法该代码区分大小写,因此您无法正确调用它。它需要大写:

button[number].Hide();
checkbox[number].Hide();

另外,您可以设置.Visible属性

button[number].Visible = false;
checkbox[number].Visible = false;

还是您在控制数组方面遇到麻烦?如姓名button1button2等等都没有在大多数情况下,特别有意义。但是,如果您的控件确实打算成为控件的有序集合的一部分,则可以在表单上创建一个集合来表示它们:

protected IList<Button> Buttons
{
    get
    {
        return new List<Button>
        {
            button1, button2, button3; // etc.
        };
    }
}

否则,访问名称本身中的数字值将是一项反思工作,在许多情况下,这实际上并不是您想要的方向。建立一个满足您需求的结构比避开一个不满足需求的结构要好。

这样,您可以将控件作为数组访问:

Buttons[number].Hide();
Checkboxes[number].Hide();

您可以更进一步,将两者结合在一起,因为它们是配对在一起的。像这样的东西:

private class ControlGroup
{
    public Button Button { get; set; }
    public CheckBox CheckBox { get; set; }

    public void Hide()
    {
        this.Button.Hide();
        this.CheckBox.Hide();
    }
}

(您可以在该类中添加进一步的错误检查,以防止出现空值等。也许也为该类提供一个更有意义的名称。)

然后,您的收藏集变为:

protected IList<ControlGroup> ControlGroups
{
    get
    {
        return new List<ControlGroup>
        {
            new ControlGroup { Button = button1, CheckBox = checkbox1 },
            new ControlGroup { Button = button2, CheckBox = checkbox2 },
            new ControlGroup { Button = button3, CheckBox = checkbox3 }
            // etc.
        };
    }
}

这样可以在适当的情况下将所有内容按逻辑分组到一个更智能的数据结构中,从而使调用代码更加容易:

ControlGroups[number].Hide();

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

隐藏数据库查询中的第一行

来自分类Dev

如何使用MVC 4根据数据库中的值创建动态控件

来自分类Dev

如何根据数据库记录在MVC中动态设置控件可见性

来自分类Dev

根据数据库值0/1隐藏数据表中的记录

来自分类Dev

根据从数据库中获取的数据隐藏/显示多个 div 元素

来自分类Dev

如何使用MVC根据数据库设置在导航栏中显示/隐藏链接

来自分类Dev

在DOM中隐藏数据库属性

来自分类Dev

根据其他行的值删除单个数据库表中的行

来自分类Dev

查找数据库中的数据行

来自分类Dev

查找数据库中的数据行

来自分类Dev

如何显示MySQL数据库中的隐藏数据

来自分类Dev

使用隐藏字段更新数据库中的数据

来自分类Dev

Django-如何根据多个字段编辑数据库中的特定行?

来自分类Dev

如何根据纬度和经度距离从Sqlite数据库中检索行?

来自分类Dev

WordPress数据库查询-根据其他两列从行中获取最新值

来自分类Dev

根据子表中的字段值从数据库中选择行

来自分类Dev

根据select(Rails)分别获取和显示数据库行中的所有值

来自分类Dev

如何遍历数据库中的表,然后根据条件遍历这些表行?

来自分类Dev

根据时间戳获取数据库中的数据

来自分类Dev

根据URL中的变量从数据库获取数据

来自分类Dev

根据关系在数据库中插入数据

来自分类Dev

根据下拉列表选择从数据库中获取数据

来自分类Dev

根据位置从外部数据库中获取数据

来自分类Dev

根据数据库表列值禁用gridview行

来自分类Dev

根据周将不同的数据库行分组

来自分类Dev

无法根据特定用户更新数据库行

来自分类Dev

根据数据库的值更改JTable行的颜色

来自分类Dev

根据内容查询获取sqlite数据库行的id

来自分类Dev

如何在 Azure SQL 数据库中对用户隐藏其他数据库?

Related 相关文章

  1. 1

    隐藏数据库查询中的第一行

  2. 2

    如何使用MVC 4根据数据库中的值创建动态控件

  3. 3

    如何根据数据库记录在MVC中动态设置控件可见性

  4. 4

    根据数据库值0/1隐藏数据表中的记录

  5. 5

    根据从数据库中获取的数据隐藏/显示多个 div 元素

  6. 6

    如何使用MVC根据数据库设置在导航栏中显示/隐藏链接

  7. 7

    在DOM中隐藏数据库属性

  8. 8

    根据其他行的值删除单个数据库表中的行

  9. 9

    查找数据库中的数据行

  10. 10

    查找数据库中的数据行

  11. 11

    如何显示MySQL数据库中的隐藏数据

  12. 12

    使用隐藏字段更新数据库中的数据

  13. 13

    Django-如何根据多个字段编辑数据库中的特定行?

  14. 14

    如何根据纬度和经度距离从Sqlite数据库中检索行?

  15. 15

    WordPress数据库查询-根据其他两列从行中获取最新值

  16. 16

    根据子表中的字段值从数据库中选择行

  17. 17

    根据select(Rails)分别获取和显示数据库行中的所有值

  18. 18

    如何遍历数据库中的表,然后根据条件遍历这些表行?

  19. 19

    根据时间戳获取数据库中的数据

  20. 20

    根据URL中的变量从数据库获取数据

  21. 21

    根据关系在数据库中插入数据

  22. 22

    根据下拉列表选择从数据库中获取数据

  23. 23

    根据位置从外部数据库中获取数据

  24. 24

    根据数据库表列值禁用gridview行

  25. 25

    根据周将不同的数据库行分组

  26. 26

    无法根据特定用户更新数据库行

  27. 27

    根据数据库的值更改JTable行的颜色

  28. 28

    根据内容查询获取sqlite数据库行的id

  29. 29

    如何在 Azure SQL 数据库中对用户隐藏其他数据库?

热门标签

归档