首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何根据数据库结果动态添加面板

如何根据数据库结果动态添加面板
EN

Stack Overflow用户
提问于 2018-08-13 01:14:39
回答 1查看 52关注 0票数 0

如何根据从数据库中获得的结果动态添加面板和一些控件。

我想在面板中显示这个datagridview的结果,但是面板应该根据结果动态地添加到彼此的旁边。例如,我在datagridview中有3个结果,所以应该动态添加3个面板。敬请指教。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-13 01:48:42

您可以使用SqlConnection执行SELECT命令并获取所需的行,然后为每一行添加一个包含该行信息的自定义面板。

我还建议您使用FlowLayoutPanel,这样它就可以为您处理间距/位置。

在你的Form_Load

代码语言:javascript
复制
var conn = new SqlConnection("Your connection informations here");
conn.Open();

var command = new SqlCommand("Select * from YourTable", conn);

using (SqlDataReader reader = command.ExecuteReader())
{
    while (reader.Read())
    {
        // Pass the useful informations to your panel
        var pnl = new MyCustomPanel(reader["Id"].ToString(), reader["Property_Type1"].ToString());
        flowLayoutPanel1.Controls.Add(pnl);
    }
}

conn.Close();

您的自定义控件的构造器应该类似于这样,您可以为每一行设置面板控件的值:

代码语言:javascript
复制
public MyCustomPanel(string id, string propertyType1)
{
    txtId.Text = id;
    txtPropertyType1.Text = propertyType1;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51811087

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档