Nasıl yapılır: Windows Forms BindingSource Bileşeni ile ADO.NET Verilerini Sıralama ve Filtreleme
ve Filter özellikleri aracılığıyla Sort denetimin BindingSource sıralama ve filtreleme özelliğini kullanıma açabilirsiniz. Temel alınan veri kaynağı bir olduğunda basit sıralama uygulayabilir ve veri kaynağı bir IBindingListIBindingListViewolduğunda filtreleme ve gelişmiş sıralama uygulayabilirsiniz. Sort özelliği standart ADO.NET söz dizimi gerektirir: listenin artan veya azalan düzende sıralanıp sıralanmayacağını belirtmek için veri kaynağındaki ASC
DESC
bir veri sütununun adını temsil eden bir dize. 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.
Dekont
Parola gibi hassas bilgilerin bağlantı dizesi depolanması 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ğlan Bilgilerini Koruma.
BindingSource ile verileri filtrelemek için
Filter özelliğini istediğiniz ifade olarak ayarlayın.
Aşağıdaki kod örneğinde, ifade bir sütun adı ve ardından sütun için istediğiniz değerdir.
BindingSource1.Filter = "ContactTitle='Owner'";
BindingSource1.Filter = "ContactTitle='Owner'"
BindingSource ile verileri sıralamak için
Sort Özelliğini, ardından
ASC
istediğiniz sütun adına veya artan veyaDESC
azalan düzeni belirtmek için ayarlayın.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, Northwind örnek veritabanının Customers tablosundaki verileri bir DataGridView denetime yükler ve görüntülenen 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 adlandırılmış ve adlandırılmış BindingSource1
dataGridView1
bir içeren bir BindingSourceDataGridView forma yapıştırın. Formun Load olayını işleyip yük olayı işleyici yönteminde çağrısında InitializeSortedFilteredBindingSource
bulunur.
Ayrıca bkz.
.NET Desktop feedback
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin