Postupy: Řazení a filtrování dat ADO.NET pomocí komponenty Windows Forms BindingSource
Funkci řazení a filtrování můžete zveřejnit prostřednictvím BindingSource vlastností Sort a Filter . Jednoduché řazení můžete použít v případě, že podkladovým zdrojem dat je , a pokud je zdrojem dat , můžete použít filtrování a pokročilé IBindingList IBindingListView řazení. Vlastnost vyžaduje standardní syntaxi ADO.NET: řetězec představující název sloupce dat ve zdroji dat, za nímž následuje , nebo k určení, jestli se má seznam seřadit vzestupně nebo Sort ASC DESC sestupně. Pokročilé řazení nebo řazení s více sloupci můžete nastavit tak, že jednotlivé sloupce oddělíte oddělovačem čárek. Vlastnost Filter přebírá řetězcový výraz.
Poznámka
Ukládání citlivých informací, jako je heslo, v připojovacím řetězci může mít vliv na zabezpečení vaší aplikace. Bezpečnější způsob, jak řídit přístup k databázi, je ověřování systému Windows (označované také jako integrované zabezpečení). Další informace najdete v tématu Ochrana informací o připojení.
Filtrování dat pomocí BindingSource
Nastavte Filter vlastnost na výraz, který chcete.
V následujícím příkladu kódu je výraz název sloupce následovaný hodnotou, kterou chcete pro sloupec použít.
BindingSource1.Filter = "ContactTitle='Owner'";
BindingSource1.Filter = "ContactTitle='Owner'"
Řazení dat pomocí BindingSource
Nastavte vlastnost na název sloupce, za ním který má následovat nebo , aby Sort
ASCDESCoznačoval vzestupné nebo sestupné pořadí.Více sloupců oddělte čárkou.
BindingSource1.Sort = "Country DESC, Address ASC";
BindingSource1.Sort = "Country DESC, Address ASC"
Příklad
Následující příklad kódu načte data z tabulky Customers ukázkové databáze Northwind do ovládacího prvku a vyfiltruje a DataGridView seřadí zobrazená data.
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 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;
}
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 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
Probíhá kompilace kódu
Pokud chcete spustit tento příklad, vložte kód do formuláře, který obsahuje BindingSource pojmenovaný BindingSource1 a DataGridView pojmenovaný dataGridView1 . Zpracování události Load pro formulář a volání v InitializeSortedFilteredBindingSource metodě obslužné rutiny události načtení