BindingSource.DataSource 属性

定义

获取或设置连接器绑定到的数据源。

public:
 property System::Object ^ DataSource { System::Object ^ get(); void set(System::Object ^ value); };
public object DataSource { get; set; }
public object? DataSource { get; set; }
member this.DataSource : obj with get, set
Public Property DataSource As Object

属性值

作为数据源的 Object。 默认值为 null

示例

下面的代码示例将客户列表分配给DataSourceBindingSource组件的 。 本代码示例是 如何:使用 BindingSource ResetItem 方法引发更改通知中提供的更大示例的一部分。

void Form1_Load( Object^ /*sender*/, EventArgs^ /*e*/ )
{
   // Create and populate the list of DemoCustomer objects
   // which will supply data to the DataGridView.
   List< DemoCustomer^ >^ customerList = gcnew List< DemoCustomer^ >;
   customerList->Add( DemoCustomer::CreateNewCustomer() );
   customerList->Add( DemoCustomer::CreateNewCustomer() );
   customerList->Add( DemoCustomer::CreateNewCustomer() );
   
   // Bind the list to the BindingSource.
   this->customersBindingSource->DataSource = customerList;
   
   // Attach the BindingSource to the DataGridView.
   this->customersDataGridView->DataSource =
      this->customersBindingSource;
}
private void Form1_Load(System.Object sender, System.EventArgs e)
{
    // Create and populate the list of DemoCustomer objects
    // which will supply data to the DataGridView.
    List<DemoCustomer> customerList = new List<DemoCustomer>();
    customerList.Add(DemoCustomer.CreateNewCustomer());
    customerList.Add(DemoCustomer.CreateNewCustomer());
    customerList.Add(DemoCustomer.CreateNewCustomer());

    // Bind the list to the BindingSource.
    this.customersBindingSource.DataSource = customerList;

    // Attach the BindingSource to the DataGridView.
    this.customersDataGridView.DataSource = 
        this.customersBindingSource;
}
Private Sub Form1_Load(ByVal sender As System.Object, _
    ByVal e As System.EventArgs) Handles Me.Load
    ' Create and populate the list of DemoCustomer objects
    ' which will supply data to the DataGridView.
    Dim customerList As List(Of DemoCustomer) = _
    New List(Of DemoCustomer)
    customerList.Add(DemoCustomer.CreateNewCustomer())
    customerList.Add(DemoCustomer.CreateNewCustomer())
    customerList.Add(DemoCustomer.CreateNewCustomer())

    ' Bind the list to the BindingSource.
    Me.customersBindingSource.DataSource = customerList

    ' Attach the BindingSource to the DataGridView.
    Me.customersDataGridView.DataSource = Me.customersBindingSource
End Sub

注解

属性 DataSource 可以设置为多个数据源,包括类型、对象和类型列表。 生成的数据源将以列表的形式公开。 下表显示了一些常见数据源和生成的列表评估。

数据源属性 列表结果
null 对象的空 IBindingList。 添加项会将列表设置为所添加项的类型。
null 具有 DataMember set 不支持,引发 ArgumentException
非列表类型或类型“T”的对象 类型为“T”的空 IBindingList
数组实例 IBindingList 包含数组元素。
IEnumerable 实例 一个 IBindingList 包含项的 IEnumerable
包含类型“T”的列表实例 IBindingList 包含类型“T”的实例。

此外, DataSource 可以设置为其他列表类型,例如 IListSourceITypedListBindingSource 将相应地处理它们。 在这种情况下,列表中包含的类型应具有无参数构造函数。

设置数据源时,如果提供的引用包含多个列表或表,则必须将 DataMember 属性设置为指定要绑定到的列表的字符串。 设置此属性将 DataSourceChanged 引发 事件。

注意

如果对 DataSource 属性值进行任何更改,则应在用户界面 (UI) 线程上执行此操作,以确保 UI 反映更改。

属性 DataSource 是 类的默认属性 BindingSource

适用于

另请参阅