BindingSource.Filter

Résolu
cs_JLuc01 Messages postés 206 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 5 mars 2013 - 17 oct. 2010 à 23:36
cs_JLuc01 Messages postés 206 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 5 mars 2013 - 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

3 réponses

NSUADI Messages postés 540 Date d'inscription mardi 4 août 2009 Statut Membre Dernière intervention 1 février 2013 2
18 oct. 2010 à 01:25
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
3
cs_JLuc01 Messages postés 206 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 5 mars 2013 1
18 oct. 2010 à 22:47
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
3
cs_JLuc01 Messages postés 206 Date d'inscription samedi 17 janvier 2009 Statut Membre Dernière intervention 5 mars 2013 1
18 oct. 2010 à 11:38
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
0
Rejoignez-nous