Exporter (0) Imprimer
Développer tout
Développer Réduire
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

Comment : trier et filtrer des données ADO.NET avec le composant BindingSource Windows Forms

Vous pouvez exposer les fonctions de tri et de filtrage du contrôle BindingSource à l'aide des propriétés Sort et Filter. Vous pouvez appliquer le tri simple lorsque la source de données sous-jacente est un IBindingList, et vous pouvez appliquer le filtrage et le tri avancé lorsque la source de données est un IBindingListView. La propriété Sort requiert la syntaxe ADO.NET standard : une chaîne représentant le nom d'une colonne de données dans la source de données suivie de ASC ou DESC pour indiquer si la liste doit être triée dans l'ordre croissant ou décroissant. Vous pouvez définir un tri avancé ou un tri sur plusieurs colonnes en séparant chaque colonne par une virgule. La propriété Filter adopte une expression sous forme de chaîne.

Remarque Remarque

Le stockage d'informations sensibles, par exemple, un mot de passe, dans la chaîne de connexion peut affecter la sécurité de votre application. L'utilisation de l'authentification Windows (également appelée sécurité intégrée) offre un moyen plus sûr de contrôler l'accès à une base de données. Pour plus d'informations, consultez Protection des informations de connexion.

Pour filtrer des données à l'aide de BindingSource

  • Affectez à la propriété Filter l'expression souhaitée.

    Dans l'exemple de code suivant, l'expression est un nom de colonne suivi de la valeur souhaitée pour cette colonne.


			BindingSource1.Filter = "ContactTitle='Owner'";


Pour trier des données à l'aide de BindingSource

  1. Affectez à la propriété Sort le nom de colonne souhaité suivi de ASC ou DESC pour indiquer l'ordre croissant ou décroissant.

  2. Séparez les différentes colonnes par une virgule.


			BindingSource1.Sort = "Country DESC, Address ASC";


L'exemple de code suivant charge des données à partir de la table Customers de l'exemple de base de données Northwind dans un contrôle DataGridView, puis filtre et tri les données affichées.


        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 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;

        }


Pour exécuter cet exemple, collez le code dans un formulaire contenant BindingSource nommé BindingSource1 et DataGridView nommé dataGridView1. Gérez l'événement Load pour le formulaire et appelez InitializeSortedFilteredBindingSource dans la méthode du gestionnaire d'événements de chargement.

Ajouts de la communauté

AJOUTER
Afficher:
© 2014 Microsoft