BindingSource.DataSource Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém ou define a fonte de dados a que o conector é associado.
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
Valor da propriedade
Um Object que atua como uma fonte de dados. O padrão é null
.
Exemplos
O exemplo de código a seguir atribui uma lista de clientes ao DataSource de um BindingSource componente. Este exemplo de código faz parte de um exemplo maior fornecido em Como gerar notificações de alteração usando o método 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
Comentários
A DataSource propriedade pode ser definida como 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 de lista resultante.
Propriedade DataSource | Listar resultados |
---|---|
null |
Um vazio IBindingList de objetos. Adicionar um item define a lista como o tipo do item adicionado. |
null com DataMember set |
Sem suporte, gera ArgumentException. |
Tipo fora da lista ou objeto do tipo "T" | Vazio IBindingList do tipo "T". |
Instância de matriz | IBindingList que contém os elementos da matriz. |
IEnumerable Instância | Um IBindingList que contém os IEnumerable itens. |
Instância de lista que contém o tipo "T" | IBindingList instância que contém o tipo "T". |
Além disso, DataSource pode ser definido como outros tipos de lista, como IListSource e ITypedList e o BindingSource manipulará adequadamente. Nesse 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 de uma lista ou tabela, você deverá definir a DataMember propriedade como uma cadeia de caracteres que especifica a lista à qual associar. A definição dessa propriedade aciona o evento DataSourceChanged.
Observação
Se você fizer alterações no valor da DataSource propriedade, deverá fazer isso no thread da interface do usuário para garantir que a interface do usuário reflita as alterações.
A DataSource propriedade é a propriedade padrão para a BindingSource classe .