Datetimepicker [Résolu]

Mozardyao 34 Messages postés vendredi 1 juillet 2011Date d'inscription 11 février 2013 Dernière intervention - 19 déc. 2012 à 10:57 - Dernière réponse : Mozardyao 34 Messages postés vendredi 1 juillet 2011Date d'inscription 11 février 2013 Dernière intervention
- 20 déc. 2012 à 11:08
Bonjour, j'ai un DataGridView et j'aimerai que quand je clique dans une cellule, qu'il y ait un DateTimePicker qui apparaise dans la cellule afin de permettre de saisir une date.Et qui disparaisse en laissant la date saisie dans la cellule.
Quelqu'un aurait une idée?
Merci de bien vouloir m'aider!!!!!!!!!!!!!!
Afficher la suite 

Votre réponse

2 réponses

Utilisateur anonyme - 19 déc. 2012 à 18:59
+2
Utile
Bonjour,

Voici un petit exemple qui montre comment ajouter un datetimepicker sur la cellule 1,1 lors d'un clic souris.
A tester dans un projet vierge.
Option Strict On
Public Class Form1
    'ajout d'un datagridview au formulaire
    Dim MonDataGrid As New DataGridView With {.Parent Me, .ColumnCount 3, .RowCount = 3}

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'abonnement à un événement click
        AddHandler MonDataGrid.MouseClick, AddressOf DataClick
    End Sub

    Private Sub DataClick(ByVal sender As Object, ByVal e As EventArgs)
        'si l'utilisateur clique sur la cellule 1,1...
        If MonDataGrid.SelectedCells(0) Is MonDataGrid.Rows(1).Cells(1) Then
            'récupération du rectangle d'affichage de la cellule
            Dim MonRectangle As Rectangle = MonDataGrid.GetCellDisplayRectangle(1, 1, True)
            'nouveau datetimepicker
            Dim DTP As New DateTimePicker
            'ajout événement au datetimepicker
            AddHandler DTP.ValueChanged, AddressOf valueChanged
            'positionnement 
            DTP.Bounds = MonRectangle
            'ajout au datagridview
            MonDataGrid.Controls.Add(DTP)
        End If
    End Sub

    Private Sub ValueChanged(ByVal sender As Object, ByVal e As EventArgs)
        'récupération datetimepicker
        Dim dtp As DateTimePicker = DirectCast(sender, DateTimePicker)
        'affichage date dans cellule
        MonDataGrid.Rows(1).Cells(1).Value = dtp.Value.ToLongDateString
        'déchargement du contrôle
        MonDataGrid.Controls.Remove(dtp)
        dtp.Dispose()
    End Sub
End Class
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Utilisateur anonyme
Mozardyao 34 Messages postés vendredi 1 juillet 2011Date d'inscription 11 février 2013 Dernière intervention - 20 déc. 2012 à 11:08
0
Utile
Bonjour banana32
Votre code m'a beaucoup aidé encore merci et bonne journée!!!!
Commenter la réponse de Mozardyao

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.