Recherche par date sur un datagridview
legr90
-
ManuAntibes Messages postés 491 Date d'inscription Statut Membre Dernière intervention -
ManuAntibes Messages postés 491 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Au secours...En fait,je voudrais effectuer une recherche par date sur mon datagridview en vb.NET 10 mais je ne sais pas comment m'y prendre???Merci d'avance
Au secours...En fait,je voudrais effectuer une recherche par date sur mon datagridview en vb.NET 10 mais je ne sais pas comment m'y prendre???Merci d'avance
A voir également:
- Recherche par date sur un datagridview
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Recherche par image - Guide
- Comment ouvrir un fichier dat - Guide
- Trier par date excel - Guide
- Retrouver une publication facebook par date - Guide
1 réponse
Bonjour
en .Net les contrôles (DataGridView inclus) n'ont pas vocation à être des conteneurs de données, même si la possibilité (historique) est restée présente.
Le principe est d'utiliser des collections de classes judicieusement écrites.
Pour tout traitement sur les données (y compris les recherches) => travail avec les collections.
Pour afficher les données, utiliser le binding, voir un tuto ici.
Voici un exemple de recherche de personnes nées dans une période choisie.
Un exemple de classe, (y'en a plus que nécessaire pour l'exemple, mais je l'avais sous la main)
Initialisation d'une List et la recherche
en .Net les contrôles (DataGridView inclus) n'ont pas vocation à être des conteneurs de données, même si la possibilité (historique) est restée présente.
Le principe est d'utiliser des collections de classes judicieusement écrites.
Pour tout traitement sur les données (y compris les recherches) => travail avec les collections.
Pour afficher les données, utiliser le binding, voir un tuto ici.
Voici un exemple de recherche de personnes nées dans une période choisie.
Un exemple de classe, (y'en a plus que nécessaire pour l'exemple, mais je l'avais sous la main)
Public Class Personne Public Sub New() 'Constructeur vide, nécessaire si on veut initiliaser avec "les accolades" End Sub Public Sub New(ByVal Nom As String, ByVal Prenom As String, ByVal Naissance As String) 'Constructeur avec paramètres Me.Nom = Nom Me.Prenom = Prenom Me.Naissance = DateTime.Parse(Naissance) 'j'affecte la propriété comme ça l'age sera calculé End Sub Private privateNaissance As Date Public Property Naissance() As Date 'propriété avec calcul sur la variable interne Get Return privateNaissance End Get Set(ByVal value As Date) privateNaissance = value Age = Date.Now.Year - privateNaissance.Year End Set End Property Public Property Nom() As String Public Property Prenom() As String Public ReadOnly Property NomComplet() As String 'Propriété en lecture seule qui retourne le nom complet au format Prénom NOM Get Return String.Format("{0} {1}", Prenom, Nom.ToUpper()) End Get End Property Private privateAge As Integer Public Property Age() As Integer 'Propriété en écriture interne uniquement Get Return privateAge End Get Private Set(ByVal value As Integer) privateAge = value End Set End Property Public Overrides Function ToString() As String 'Réécriture de la méthode ToString qui retourne l'initiale du Prénom.Nom Return String.Format("{0}.{1}", Prenom.Chars(0).ToString().ToUpper(), Nom.ToUpper()) End Function Public Shared Function NouvellePersonne(ByVal Nom As String, ByVal Prenom As String, ByVal Age As Integer) As Personne 'méthode de classe pour une autre façon d'initialiser Return New Personne With {.Nom = Nom, .Prenom = Prenom, .Age = Age} End Function End Class
Initialisation d'une List et la recherche
Dim personnes As New List(Of Personne)() personnes.Add(New Personne("Sor", "Jean", Date.Parse("01/01/2002"))) personnes.Add(New Personne("Di", "Alain", Date.Parse("01/01/2001"))) personnes.Add(New Personne("Zètofrais", "Mélanie", Date.Parse("01/01/2000"))) personnes.Add(New Personne("Croche", "Sara", Date.Parse("02/02/2011"))) Dim recherche As List(Of Personne) = ( From p In personnes Where p.Naissance > Date.Parse("31/12/2000") AndAlso p.Naissance < Date.Parse("01/02/2000") Select p).ToList()
Et le montage de class exactement ce que j ai besoin pour mes hamsters.
A+