我想在面板中显示此datagridview的结果,但应根据结果将面板动态地并排添加。就像我在datagridview中有3个结果一样,因此应该动态添加3个面板。请指教。
答案 0 :(得分:1)
您可以使用SqlConnection
执行SELECT
命令并获取所需的行,并为每行添加一个自定义面板,其中包含该行的信息。
我还建议您使用FlowLayoutPanel
,以便它为您处理间距/位置。
在您的Form_Load
中:
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;
}