我有一个桌面应用程序的c#代码。它通过获取数据库函数返回的值,动态地将控件添加到Panel1
。
private void loadData()
{
string[] names = dops.get_lstMed(textBox2.Text); //fetching values from database
MediRow[] mr = new MediRow[names.Length]; //User control array
panel1.Controls.Clear();
for (int i = 0; i < names.Length; i++)
{
mr[i] = new MediRow();
mr[i].MedName = names[i];
mr[i].AvailQty = dops.get_Med_qty(names[i]).ToString();
mr[i].Quantity = "0";
panel1.Controls.Add(mr[i]);
}
}
当我调试它时,数据库函数dops.get_lstMed()
返回的值是正确的,甚至循环工作正常。但问题是面板中只添加了一个控件,即使数据库有多行。请告诉我代码有什么问题吗?
答案 0 :(得分:4)
@ChrisSinclair可能是对的:尝试设置填充控件属性的mr[i].Dock = DockStyle.Top;
。
答案 1 :(得分:1)
也许这段代码有效,但似乎无效,因为您在同一位置创建它们,并且您必须更改要添加的控件的位置属性。
至少在第一眼看到我能看到的解决方案。