Como: Classificar e filtrar dados ADO.NET com o componente BindingSource do Windows Forms
Você pode expor a classificação e filtragem a capacidade de BindingSource controle por meio de Sort e Filter Propriedades. Você pode aplicar a classificação simples quando a fonte de dados subjacente é um IBindingList, e você pode aplicar a filtragem avançada de classificação quando a fonte de dados é um IBindingListView. O Sort propriedade requer um padrão ADO.NET sintaxe: seguido de uma seqüência de caracteres que representa o nome de uma coluna de dados na fonte de dados ASC ou DESC para indicar se a lista deve ser classificada em crescente ou decrescente de ordem. Você pode definir a classificação avançada ou classificação de várias colunas, separando cada coluna com um separador de vírgula. O Filter propriedade tem uma expressão de seqüência de caracteres.
Observação |
---|
Armazenar informações confidenciais, como, por exemplo, uma senha, dentro da seqüência de conexão pode afetar a segurança do seu aplicativo. Usando a autenticação do Windows (também conhecida como segurança integrada) é uma maneira mais segura de controlar o acesso a um banco de dados. Para obter mais informações, consulte Protecting Connection Information (ADO.NET). |
Para filtrar dados com o BindingSource
Definir o Filter propriedade para a expressão que desejar.
No exemplo de código a seguir, a expressão é um nome de coluna, seguido pelo valor que você deseja para a coluna.
BindingSource1.Filter = "ContactTitle='Owner'"
BindingSource1.Filter = "ContactTitle='Owner'";
Para classificar os dados com o BindingSource
Definir o Sort propriedade para o nome da coluna que deseja seguido por ASC ou DESC para indicar a ordem crescente ou decrescente.
Separe várias colunas com uma vírgula.
BindingSource1.Sort = "Country DESC, Address ASC"
BindingSource1.Sort = "Country DESC, Address ASC";
Exemplo
O exemplo de código a seguir carrega os dados da tabela Customers do banco de dados de exemplo Northwind em um DataGridView de controle e filtra e classifica os dados exibidos.
Private Sub InitializeSortedFilteredBindingSource()
' Create the connection string, data adapter and data table.
Dim connectionString As New SqlConnection("Initial Catalog=Northwind;" & _
"Data Source=localhost;Integrated Security=SSPI;")
Dim customersTableAdapter As New SqlDataAdapter("Select * from Customers", _
connectionString)
Dim customerTable As New DataTable()
' Fill the the adapter with the contents of the customer table.
customersTableAdapter.Fill(customerTable)
' Set data source for BindingSource1.
BindingSource1.DataSource = customerTable
' Filter the items to show contacts who are owners.
BindingSource1.Filter = "ContactTitle='Owner'"
' Sort the items on the company name in descending order.
BindingSource1.Sort = "Country DESC, Address ASC"
' Set the data source for dataGridView1 to BindingSource1.
dataGridView1.DataSource = BindingSource1
End Sub
private void InitializeSortedFilteredBindingSource()
{
// Create the connection string, data adapter and data table.
SqlConnection connectionString =
new SqlConnection("Initial Catalog=Northwind;" +
"Data Source=localhost;Integrated Security=SSPI;");
SqlDataAdapter customersTableAdapter =
new SqlDataAdapter("Select * from Customers", connectionString);
DataTable customerTable = new DataTable();
// Fill the the adapter with the contents of the customer table.
customersTableAdapter.Fill(customerTable);
// Set data source for BindingSource1.
BindingSource1.DataSource = customerTable;
// Filter the items to show contacts who are owners.
BindingSource1.Filter = "ContactTitle='Owner'";
// Sort the items on the company name in descending order.
BindingSource1.Sort = "Country DESC, Address ASC";
// Set the data source for dataGridView1 to BindingSource1.
dataGridView1.DataSource = BindingSource1;
}
Compilando o código
Para executar esse exemplo, cole o código em um formulário que contém um BindingSource chamado BindingSource1 e um DataGridView chamado dataGridView1. Lidar com o Load evento para o formulário e a chamada InitializeSortedFilteredBindingSource no método de manipulador do carga do evento.
Consulte também
Tarefas
Como: Instalar bancos de dados de amostra