从数据表生成的自定义控件
本文关键字:自定义控件 数据表 | 更新日期: 2023-09-27 17:49:27
我需要一个功能的帮助,我有数据集表中的数据。对于每一行,我需要用一些数据创建控件,所有这些控件必须在流布局。我想从这里创建自定义控件,它可以绑定到数据源,比如dataset。
更多信息:我已经创建了自定义控件
[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是唯一的属性,它的方法在设置时被触发。
您可以循环遍历数据集表中的行,为每一行构建一个新控件,并将其添加到窗体上的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);
}