BindingSource.DataSource Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém ou define a fonte de dados à qual o conector se liga.
public:
property System::Object ^ DataSource { System::Object ^ get(); void set(System::Object ^ value); };
public object DataSource { get; set; }
member this.DataSource : obj with get, set
Public Property DataSource As Object
Valor de Propriedade
E Object que atua como fonte de dados. A predefinição é null.
Exemplos
O seguinte exemplo de código atribui uma lista de clientes ao DataSource de um BindingSource componente. Este exemplo de código faz parte de um exemplo mais amplo fornecido em Como: Levantar Notificações de Alterações Usando o Método ResetItem BindingSource.
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
Observações
A DataSource propriedade pode ser definida para várias fontes de dados, incluindo tipos, objetos e listas de tipos. A fonte de dados resultante será exposta como uma lista. A tabela a seguir mostra algumas das fontes de dados comuns e a avaliação da lista resultante.
| Propriedade DataSource | Listar resultados |
|---|---|
null |
Uma coleção vazia IBindingList de objetos. Adicionar um item define a lista para o tipo do item adicionado. |
null com DataMember configurado |
Não suportado, aumentos ArgumentException. |
| Tipo ou objeto não listado do tipo "T" | Vazio IBindingList do tipo "T". |
| Instância de matriz | IBindingList contendo os elementos do array. |
| IEnumerable instância | E a IBindingList conter os IEnumerable itens. |
| Listar instância contendo o tipo "T" | IBindingList instância contendo o tipo "T". |
Além disso, DataSource pode ser definido para outros tipos de listas, como IListSource e ITypedList e irá BindingSource tratá-los adequadamente. Neste caso, o tipo contido na lista deve ter um construtor sem parâmetros.
Ao definir uma fonte de dados, se a referência fornecida contiver mais do que uma lista ou tabela, deve definir a DataMember propriedade para uma cadeia que especifica a lista a que se deve ligar. Definir esta propriedade eleva o DataSourceChanged evento.
Note
Se fizer alguma alteração ao valor da DataSource propriedade, deve fazê-lo na thread da interface do utilizador (UI) para garantir que a interface reflete as alterações.
A DataSource propriedade é a propriedade padrão da BindingSource classe.