Usercontrol数据源?

时间:2012-03-22 14:21:19

标签: c# winforms data-binding user-controls datasource

在我当前的Windows应用程序中,我正在研究如何为我的usercontrol提供数据源。 在我的页面上,我在flowlayoutpanel中添加了自己的usercontrol,usercontrol中有3个文本框,我想用数据源填充数据。

 usercontrol uc = new usercontrol();
 flowlayoutpanel.Controls.Add(uc);
 uc.DataSource?

我知道在silverlight和ASP.NET中,您可以向usercontrol添加数据源。在usercontrol中,您可以使用{Binding fieldname}作为内容将数据导入文本框。我找不到有关Windows Forms的任何信息。

感谢您的帮助。 托马斯

2 个答案:

答案 0 :(得分:3)

MSDN上有一篇文章可以帮助您实现这一点 - Walkthrough: Creating a User Control that Supports Simple Data Binding(另请参阅ComplexLookup数据绑定演练)。

答案 1 :(得分:0)

我通过在我的用户控件中添加setter和getter来解决这个问题(感谢Stuart的链接)。

public partial class ucOpleiding : UserControl
{
   public string Datum
   {
        get { return txtDatum.Text; }
        set { txtDatum.Text = value; }
   }

   public string Plaats
   {
       get { return txtPlaats.Text; }
       set { txtPlaats.Text = value; }
   }

   public string Omschrijving
   {
       get { return txtOmschrijving.Text; }
       set { txtOmschrijving.Text = value; }
   }

    public ucOpleiding()
    {
        InitializeComponent();
    }

然后在我的主要表格中,我会打电话给那些制定者和吸气者。

foreach (opleiding opl in ChauffeurManagement.getOpleidingen(Int32.Parse(cbbID.SelectedValue.ToString())))
{
     ucOpleiding uc = new ucOpleiding();

     uc.Datum = opl.datum.ToString();
     uc.Plaats = opl.plaats_instantie;
     uc.Omschrijving = opl.omschrijving;

     flpOpleidingen.Controls.Add(uc);
}