Postupy: Řazení a filtrování dat ADO.NET pomocí součásti Windows Forms BindingSource
Možnosti řazení a filtrování ovládacích BindingSource prvků můžete zveřejnit prostřednictvím Sort vlastností a Filter vlastností. Jednoduché řazení můžete použít, když je podkladový zdroj dat , IBindingLista můžete použít filtrování a rozšířené řazení, když je IBindingListViewzdrojem dat . Vlastnost Sort vyžaduje standardní syntaxi ADO.NET: řetězec představující název sloupce dat ve zdroji dat, za nímž následuje ASC
, nebo DESC
určit, zda má být seznam seřazen vzestupně nebo sestupně. Rozšířené řazení nebo řazení s více sloupci můžete nastavit tak, že jednotlivé sloupce oddělíte oddělovačem čárky. Vlastnost Filter přebírá řetězcový výraz.
Poznámka:
Ukládání citlivých informací, například hesla, v rámci připojovací řetězec může ovlivnit 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 naleznete v tématu Ochrana Připojení ion informace.
Filtrování dat pomocí BindingSource
Filter Nastavte vlastnost na požadovaný výraz.
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
Sort Nastavte vlastnost na název sloupce, za kterým chcete následovat
ASC
, neboDESC
chcete označit vzestupné nebo sestupné pořadí.Oddělte více sloupců čá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 DataGridView ovládacího prvku a filtruje a 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
Chcete-li spustit tento příklad, vložte kód do formuláře, který obsahuje pojmenovaný BindingSourceBindingSource1
a pojmenovaný DataGridViewdataGridView1
. Zpracujte Load událost formuláře a volání InitializeSortedFilteredBindingSource
v metodě obslužné rutiny události načtení.
Viz také
.NET Desktop feedback
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro