Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können die Sortier- und Filterfunktion des BindingSource-Steuerelements über die Sort- und Filter-Eigenschaften verfügbar machen. Sie können einfache Sortierung anwenden, wenn es sich bei der zugrunde liegenden Datenquelle um eine IBindingListDatenquelle handelt, und Sie können filterungs- und erweiterte Sortierung anwenden, wenn es sich bei der Datenquelle um eine IBindingListView. Die Sort Eigenschaft erfordert standardmäßige ADO.NET Syntax: eine Zeichenfolge, die den Namen einer Datenspalte in der Datenquelle darstellt, gefolgt von ASC
oder DESC
um anzugeben, ob die Liste in aufsteigender oder absteigender Reihenfolge sortiert werden soll. Sie können die erweiterte Sortierung oder mehrfachspaltige Sortierung festlegen, indem Sie jede Spalte durch ein Kommatrennzeichen trennen. Die Filter Eigenschaft verwendet einen Zeichenfolgenausdruck.
Hinweis
Das Speichern vertraulicher Informationen, z. B. eines Kennworts, innerhalb der Verbindungszeichenfolge kann sich auf die Sicherheit Ihrer Anwendung auswirken. Die Verwendung der Windows-Authentifizierung (auch als integrierte Sicherheit bezeichnet) ist eine sicherere Möglichkeit, den Zugriff auf eine Datenbank zu steuern. Weitere Informationen finden Sie unter Schützen von Verbindungsinformationen.
So filtern Sie Daten mit "BindingSource"
Legen Sie die Filter Eigenschaft auf einen gewünschten Ausdruck fest.
Im folgenden Codebeispiel ist der Ausdruck ein Spaltenname gefolgt von einem Wert, den Sie für die Spalte verwenden möchten.
BindingSource1.Filter = "ContactTitle='Owner'";
BindingSource1.Filter = "ContactTitle='Owner'"
So sortieren Sie Daten mit der BindingSource
Legen Sie die Sort-Eigenschaft auf den Spaltennamen fest, gefolgt von
ASC
oderDESC
, um die aufsteigende oder absteigende Reihenfolge anzugeben.Trennen Sie mehrere Spalten durch ein Komma.
BindingSource1.Sort = "Country DESC, Address ASC";
BindingSource1.Sort = "Country DESC, Address ASC"
Beispiel
Im folgenden Codebeispiel werden Daten aus der Tabelle "Customers" der Northwind-Beispieldatenbank in ein DataGridView Steuerelement geladen und die angezeigten Daten gefiltert und sortiert.
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
Code kompilieren
Zum Ausführen dieses Beispiels fügen Sie den Code in ein Formular ein, das einen BindingSource namens BindingSource1
und einen DataGridView namens dataGridView1
enthält. Behandeln Sie das Load-Ereignis für das Formular und rufen Sie InitializeSortedFilteredBindingSource
in der Load-Ereignisbehandlermethode auf.
Siehe auch
.NET Desktop feedback