如何在Windows Forms c#中的DataRepeater中绑定userControl?

时间:2013-01-03 15:25:49

标签: c# winforms dataset datarepeater

如何在Windows窗体c#中的DataRepeater中绑定userControl?

我不想使用此方法:http://blogs.msdn.com/b/vsdata/archive/2009/08/12/datarepeater-control-for-windows-forms.aspx但我想以编程方式从DataSet / DataTable进行绑定。 在转发器里面只是为了测试我放了一个文本框和一个标签。还有一个UserControl,它还包含两个控件:一个标签和一个文本框。 到目前为止,只更新了第一个标签和文本框,但没有更新用户控件。我错过了什么?

这是加载事件

private void DataRepeaterForm_Load(object sender, EventArgs e)
        {
            SqlConnection con = new SqlConnection("Data Source=ADRIAN-PC; Initial Catalog=AdventureWorks2008R2; Integrated Security=true;User id=;password=");

            SqlCommand cmd = new SqlCommand("Select * from Person.Person", con);
            SqlDataAdapter adapt = new SqlDataAdapter(cmd);

            DataTable items = new DataTable();
            adapt.Fill(items);

            textBox1.DataBindings.Add("Text", items, "FirstName");
            label1.DataBindings.Add("Text", items, "LastName");

            TextBox myUcTextBox1 = (TextBox)myUC1.Controls.Find("textBox1", true).First();

            if( myUcTextBox1 != null)
                myUcTextBox1.DataBindings.Add("Text", items, "LastName");

            dataRepeater1.DataSource = items;
        }

我还应该使用其他事件,比如DrawItem,......? 问候。

1 个答案:

答案 0 :(得分:4)

使用BindingSource添加绑定:

BindingSource bindingSource1 = new BindingSource();
bindingSource1.DataSource = items;
textBox1.DataBindings.Add("Text", bindingSource1, "FirstName");
label1.DataBindings.Add("Text", bindingSource1, "LastName");
dataRepeater1.DataSource = bindingSource1;