我需要一个功能帮助,我在数据集表中有数据。 对于每一行,我需要使用一些数据创建控件,并且所有这些控件都必须采用流布局。我希望从中进行自定义控制,它可以绑定到数据源,如数据集。
更多信息: 我已经制作了自定义控件
[System.ComponentModel.ComplexBindingProperties("DataSource")]
public partial class UserControl1 : System.Windows.Forms.FlowLayoutPanel
{
public object DataSource
{
get { return datatable; }
set
{ datatable = (List<String>)value;
MakeControls();
}
}
private void MakeControls()
{
if (datatable == null)
return;
this.SuspendLayout();
this.Controls.Clear();
foreach(String str in datatable)
{
GroupBox gb = new GroupBox();
gb.Text = str;
this.Controls.Add(gb);
}
this.ResumeLayout();
}
}
我不知道这就够了。因此,Datasource只是具有在设置时触发的方法的属性。
答案 0 :(得分:1)
您可以遍历数据集表中的行,为每个行构建一个新控件,并将其添加到表单上的FlowLayoutPanel。
foreach (DataRow dr in ds.Tables[0].Rows)
{
Textbox t = new TextBox(); //Or whatever control you want
t.Text = dr.Value; // NB: Not actual code, I'm not at my IDE
flowPanel.Controls.Add(t);
}