从表数据库中制作类别按钮列表时显示按钮

问题描述 投票:0回答:1

我写的代码是正确的,但我不知道问题出在哪里。

代码:

    private void AddCategory()
    {
        string qry = "select * from category";

        SqlCommand cmd = new SqlCommand(qry, MainClass.con);

        SqlDataAdapter da = new SqlDataAdapter(cmd);

        DataTable dt = new DataTable();
        da.Fill(dt);

        categoryPanel.Controls.Clear();

        if (dt.Rows.Count > 0)
        {
            foreach (DataRow row in dt.Rows)
            {
                //Button b = new Button();
                Guna.UI.WinForms.GunaButton b = new Guna.UI.WinForms.GunaButton();
                b.BackColor = Color.FromArgb(50, 55, 89);
                b.Size = new Size(134, 45);
                //b.ButtonMode = Guna.UI.WinForms.Enums.ButtonMode.RadioButton;
                //  b. = Guna.UI.WinForms.GunaRadioButton;
                b.Text = row["catName"].ToString();
                categoryPanel.Controls.Add(b);   
            }
        }
        else
        {
            Label lbl = new Label();
            lbl.Text = "No Category Found!";
            categoryPanel.Controls.Add(lbl);
        }
    }

数据库:

enter image description here

结果:

enter image description here

我希望结果是所有类别作为按钮

c# windows visual-studio forms windows-application-packaging
1个回答
0
投票

根据我的测试,我重现了您的问题,我只能从数据库表生成一个按钮。

我发现你没有给出Location属性,所以你遇到了问题。

请使用以下代码进行修改。

 int i = 0;
 if (dt.Rows.Count > 0)
 {
     foreach (DataRow row in dt.Rows)
     {
         Button b = new Button();
         //Guna.UI.WinForms.GunaButton b = new Guna.UI.WinForms.GunaButton();
         b.BackColor = Color.FromArgb(50, 55, 89);
         b.Size = new Size(134, 45);
         b.Location = new Point(100, 100 + 80 * i);
         //b.ButtonMode = Guna.UI.WinForms.Enums.ButtonMode.RadioButton;
         //  b. = Guna.UI.WinForms.GunaRadioButton;
         b.Text = row["Name"].ToString();
         panel1.Controls.Add(b);
         i++;
     }
 }
 else
 {
     Label lbl = new Label();
     lbl.Text = "No Category Found!";
     panel1.Controls.Add(lbl);
 }

您可以看到以下结果:

© www.soinside.com 2019 - 2024. All rights reserved.