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

C# 如何根据数据库结果动态添加面板,c#,sql,C#,Sql,如何根据从数据库获得的结果动态添加面板和一些控件。 我想在面板中显示这个datagridview的结果,但是面板应该根据结果动态地彼此相邻添加。就像我在datagridview中有3个结果一样,所以应该动态添加3个面板。请提供建议。您可以使用SqlConnection执行SELECT命令,获取所需的行,并为每行添加一个包含行信息的自定义面板。 我还建议您使用FlowLayoutPanel,以便为您处理间距/位置 在您的表格中加载: var conn = new SqlConnection("Y

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


我想在面板中显示这个datagridview的结果,但是面板应该根据结果动态地彼此相邻添加。就像我在datagridview中有3个结果一样,所以应该动态添加3个面板。请提供建议。

您可以使用
SqlConnection
执行
SELECT
命令,获取所需的行,并为每行添加一个包含行信息的自定义面板。
我还建议您使用
FlowLayoutPanel
,以便为您处理间距/位置

在您的
表格中加载

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();
自定义控件的构造函数应该是这样的,您可以为每一行设置面板控件的值:

public MyCustomPanel(string id, string propertyType1)
{
    txtId.Text = id;
    txtPropertyType1.Text = propertyType1;
}

左边的“东西”是你说的面板吗?@Haytam是的,这是我添加的模板面板,你希望其他面板在哪里?因为我看不到其他人的空间。。另外,请提供一些代码(例如,如何填写datagridview)datagridview将被新面板取代。我刚刚添加了datagridview来帮助可视化问题。模板面板也将被删除。