BindingSource.Filter [Résolu]

cs_JLuc01 208 Messages postés samedi 17 janvier 2009Date d'inscription 5 mars 2013 Dernière intervention - 17 oct. 2010 à 23:36 - Dernière réponse : cs_JLuc01 208 Messages postés samedi 17 janvier 2009Date d'inscription 5 mars 2013 Dernière intervention
- 18 oct. 2010 à 22:47
Bonsoir,

J'ai un probleme avec le control MonthCalendar. Ce code ne marche pas:

Private Sub mcBirthday_DateChanged(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DateRangeEventArgs) Handles mcBirthday.DateChanged
        Dim search As String = mcBirthday.SelectionStart
        ContactsBindingSource.Filter = "Birthday LIKE '" + search.ToString + "%'"
End Sub


Alors que celui-ci marche (pour un textbox):

Private Sub txtSearch_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtSearch.TextChanged
        Dim search As String = txtSearch.Text
        ContactsBindingSource.Filter = "Surname LIKE '" + search.ToString + "%'"
End Sub


Je ne comprends pas pourquoi. Faut-il utiliser une autre propriete que SelectionStart pour le MonthCalendar mcBirthday? Pourtant, la variable search contient la date selectionnee sur le MonthCalendar.
En fait, je click sur une date et cela m'efface tout le contenu de mon DataGridView.

Toute idee est la bienvenue.
Merci,

JLuc01
Afficher la suite 

Votre réponse

3 réponses

NSUADI 540 Messages postés mardi 4 août 2009Date d'inscription 1 février 2013 Dernière intervention - 18 oct. 2010 à 01:25
+3
Utile
Bonsoir!!

Ton problème vient très certainement du format de la date que tu appliques dans ton filtre qui n'est très certainement pas identique à celui de ta base de donnée...

Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...

Visual Basic .Net is the best
and vb6.0
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de NSUADI
cs_JLuc01 208 Messages postés samedi 17 janvier 2009Date d'inscription 5 mars 2013 Dernière intervention - 18 oct. 2010 à 22:47
+3
Utile
Voila, j'ai trouve mon bonheur!

Dim search As Date = mcBirthday.SelectionStart
ContactsBindingSource.Filter = "Birthday LIKE '" + search.ToLongDateString + "%'"


Toutefois, je ne comprends pas toutes les subtilitees.

Ca marche avec "Date" ou "DateTime".
Ca marche avec "ToLongDateString", mais pas avec "ToShortDateString".

Ca marche aussi en plus court:

ContactsBindingSource.Filter = "Birthday LIKE '" + mcBirthday.SelectionStart.ToLongDateString + "%'"


Merci encore pour ton aide, cela m'a permis de chercher au bon endroit.

JLuc01
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_JLuc01
cs_JLuc01 208 Messages postés samedi 17 janvier 2009Date d'inscription 5 mars 2013 Dernière intervention - 18 oct. 2010 à 11:38
0
Utile
Bizarre! Pourtant, "Birthday" est declare "as String" dans ma base de donnee (comme tous mes autres donnees).
Je chercherais ce soir dans cette direction toutefois.
Merci pour le conseil.

Un autre conseil SVP, est-ce que ces ecritures simplifiees sont bonnes aussi?

Dim search As String = mcBirthday.SelectionStart
ContactsBindingSource.Filter = "Birthday LIKE '" + search + "%'"

("search" est deja declare "as String")
ou encore mieux,
ContactsBindingSource.Filter = "Birthday LIKE '" + mcBirthday.SelectionStart.ToString + "%'"


JLuc01
Commenter la réponse de cs_JLuc01

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.