将数据绑定到usercontrol

时间:2011-09-29 13:03:10

标签: c# sql-server winforms entity-framework user-controls

我有一个userControl(观看截图): enter image description here

我想知道如何将数据绑定到此控件。

1)我想拖动&将此usercontrol放到表单中 2)我希望决定使用我的数据库中的哪个表 3)数据网格(底部的灰色控件)应自动绑定到指向我希望使用的表的数据源 4)usercontrol的详细信息选项卡应自动填充标签+文本框,用于我希望使用的表格的每个字段

我的问题是......我怎么能意识到这一点?有什么想法吗?

招呼

1 个答案:

答案 0 :(得分:3)

1)当您构建项目时,您的UserControl将显示在VisualStudio的工具箱中,因此您可以将其拖放到表单上的任何位置。

2)公开DataGridView的DataSource,例如在UserControl的某些属性中:

public BindingSource MyDataGridViewDataSource
{
   get 
   {
      return MyDataGridView.DataSource; // or you can skip 'get' if you don't need it
   }
   set
   {
      MyDataGridView.DataSource = value;
   }
}

3)...或者如果你想要列名,请使用获取/设置DataTable的属性(记得首先填充http://msdn.microsoft.com/en-us/library/fbk67b6z.aspx):

private DataTable _myDataTable = new DataTable();
public DataTable MyDataTable
{
  get
  {
   return _myDataTable;
  }
  set
  {
   _myDataTable = value;
   BindingSource bs = new BindingSource();
   bindingSource1.DataSource = value;
   MyDataGridView.DataSource = bs;

   // 4) fill your labels somewhere here
   string tablename = value.TableName; 
   foreach (DataColumn col in value.Columns)
     Console.WriteLine("{0}\t{1}", col.ColumnName, col.DataType);
  }
}

这不是一个完整的解决方案,但它是一个开始的地方。