Ré affichage dans un DataGridVew créé avec l'assistant

gardoulet Messages postés 18 Date d'inscription vendredi 23 décembre 2011 Statut Membre Dernière intervention 17 février 2012 - 10 févr. 2012 à 15:44
gardoulet Messages postés 18 Date d'inscription vendredi 23 décembre 2011 Statut Membre Dernière intervention 17 février 2012 - 12 févr. 2012 à 16:05
Bonjour à tous...

Mon problème: J'ai une Form avec un DataGridView créé par l'assistant de Visual Studio, relié à une base Access.
Je voudrai ajouter deux TextBox dans lesquels j'entrerai des dates, et un bouton qui ferait afficher dans le DataGridView les données comprises entre les deux dates . Je sais faire dans un autre Form, remplir un DataGridView par programmation, avec contrôles dates, mais là je sèche sur ce DataGridView créé par assistant.

Je suis moins que débutant, mais çà je pense que c'est visible...

3 réponses

germany1970 Messages postés 134 Date d'inscription mardi 4 mars 2008 Statut Membre Dernière intervention 22 mars 2014 3
11 févr. 2012 à 11:43
Bonjour,
primo il faut mettre deux DateTimePicker sur votre Form (Date début et date fin)
un boutton et biensur vot datagridview et vous mettez ce code dans l'évenement Click de votr button :


Private Sub OK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles OK.Click
If Datedebut.Value = Datefin.Value Then
Me.tatableBindingSource.Filter = "deffet=' " & Datedebut.Value.ToShortDateString().ToString & "'"
Me.tatableBindingSource.Sort = "code, souscripteur, ville, deffet"
DataGridView1.Visible = True
Me.DataGridView1.DataSource = Me.tatableBindingSource
DataGridView1.AutoResizeColumns()
Else
Me.tatableBindingSource.Filter = "deffet>= " + "'" + Datedebut.Value.ToShortDateString().ToString + "'" + " AND deffet <=" + "'" + Datefin.Value.ToShortDateString().ToString + "'"
Me.tatableBindingSource.Sort = "deffet ASC , souscripteur , ville , CODE"
DataGridView1.Visible = True
Me.DataGridView1.DataSource = Me.tatableBindingSource
DataGridView1.AutoResizeColumns()
End If

End Sub

deffet = le nom de la colonne de la date à filtrer dans votre base de données.

si vous rencontrez un prob fais moi un retour pour voir ensemble si non bon code.
0
gardoulet Messages postés 18 Date d'inscription vendredi 23 décembre 2011 Statut Membre Dernière intervention 17 février 2012
12 févr. 2012 à 15:40
Merci pour la réponse, je viens de tester ton code,
Il y a semble t'il une erreur de syntaxe dans cette ligne , il manquerait un " après AND

Me.tatableBindingSource.Filter = "deffet>= " + "'" + Datedebut.Value.ToShortDateString().ToString + "'" + " AND deffet <=" + "'" + Datefin.Value.ToShortDateString().ToString + "'"

Après avoir mis les ", j'ai une erreur qui dit: La conversion de la chaîne "Dates>='01/01/2012''" en type 'Long' n'est pas valide.
0
gardoulet Messages postés 18 Date d'inscription vendredi 23 décembre 2011 Statut Membre Dernière intervention 17 février 2012
12 févr. 2012 à 16:05
En fait mon projet n'est pas trop compliqué, je désire juste faire un prg qui gère des sorties vélo, (faut bien s'occuper à la retraite) sur Bdd Access
Avec colonnes: N°,Dates,Distance,Durée,Température,Moyenne,Direct_vent,Force_vent,Itinéraire,Commentaire
Il se composerait d'une Form avec un datagridview affichant certaines de ces colonnes (sauf N°,Itinéraire et Commentaire).
avec en plus des contrôles placés à côté du grid, pour tous les champs de la table.
Le Datagrid ne serait pas en saisie, et en sélectionnant une ligne, les contrôles se rempliraient automatiquement, les modifications et créations se feraient par ces contrôles.
En ouverture le datagrid afficherait tous les enregistrements de la Table.
J'aimerai également pouvoir faire un affichage des données comprises entre deux dates, soit dans la même Form soit dans une autre.
J'ai essayé de créé le Datagridview en faisant glisser la table sur la form, et j'ai créé les contrôles par la même manière, çà fonctionne, mais quand je veux supprimer une ligne dans le grid par le BindingNavigatorDeleteItem, la ligne s'efface mais réapparait à la prochaine ouverture de la Form, il faut en plus cliquer sur le BindingNavigatorSaveItem, ce qui n'est pas intuitif.
J'espère ne pas trop saouler avec un problème qui paraîtra simple à beaucoup, mais qui est pour moi assez duraille...
0
Rejoignez-nous