Nasıl yapılır: Windows Forms BindingSource Bileşeni ile ADO.NET Verilerini Sıralama ve Filtreleme
BindingSourceVe özellikleri ile denetimin sıralama ve filtreleme özelliğini kullanıma sunabilirsiniz Sort Filter . Temel alınan veri kaynağı bir olduğunda basit sıralama uygulayabilir IBindingList ve veri kaynağı bir olduğunda filtreleme ve gelişmiş sıralama uygulayabilirsiniz IBindingListView . Sortözelliği için standart ADO.NET sözdizimi gerekir: veri kaynağındaki bir veri sütununun adını temsil eden bir dize ve ardından ASC DESC listenin artan veya azalan sırada sıralanması gerekip gerekmediğini belirtmek için. Her sütunu virgül ayırıcısıyla ayırarak gelişmiş sıralama veya birden çok sütunlu sıralama ayarlayabilirsiniz. FilterÖzelliği bir dize ifadesi alır.
Not
Parola gibi hassas bilgileri, bağlantı dizesi içinde depolamak, uygulamanızın güvenliğini etkileyebilir. Windows Kimlik Doğrulaması (tümleşik güvenlik olarak da bilinir) kullanılarak bir veritabanına erişimi denetlemek için daha güvenli bir yoldur. Daha fazla bilgi için bkz. bağlantı bilgilerini koruma.
BindingSource ile verileri filtrelemek için
Özelliğini istediğiniz Filter ifadeye ayarlayın.
Aşağıdaki kod örneğinde, ifadesi bir sütun adı ve ardından sütun için istediğiniz değeri izler.
BindingSource1.Filter = "ContactTitle='Owner'";
BindingSource1.Filter = "ContactTitle='Owner'"
BindingSource ile verileri sıralamak için
Özelliğini, daha Sort sonra istediğiniz sütun adı olarak ayarlayın
ASCveyaDESCartan veya azalan sırayı belirtin.Birden çok sütunu virgülle ayırın.
BindingSource1.Sort = "Country DESC, Address ASC";
BindingSource1.Sort = "Country DESC, Address ASC"
Örnek
Aşağıdaki kod örneği, verileri Northwind örnek veritabanının Customers tablosundan bir DataGridView denetime yükler ve görünen verileri filtreler ve sıralar.
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
Kod Derleniyor
Bu örneği çalıştırmak için, kodu BindingSource adlandırılmış ve adlı bir forma yapıştırın BindingSource1 DataGridView dataGridView1 . Olay Load işleyicisini yükle yönteminde form ve çağrı için olayı işleyin InitializeSortedFilteredBindingSource .