IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Datagridviewcomboboxcolumn et saisie semi automatique


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Mars 2011
    Messages
    41
    Détails du profil
    Informations forums :
    Inscription : Mars 2011
    Messages : 41
    Points : 40
    Points
    40
    Par défaut Datagridviewcomboboxcolumn et saisie semi automatique
    Bonjour,

    j'ai utilisé le code suivant pour créer et inserrer un comboboxcolumn dans mon datagidview :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    Enum ColumnName
            CustomerID
            CustomerName
            StoreID
            StoreName
            ProductID
            ProductName
            Nom_Produit
        End Enum
     
        Private Function CreateComboBoxColumn() _
      As DataGridViewComboBoxColumn
     
            Dim column As New DataGridViewComboBoxColumn()
     
            With column
                .DataPropertyName = ColumnName.ProductID.ToString()
                .HeaderText = ColumnName.Nom_Produit.ToString()
                .DropDownWidth = 160
                .Width = 265
                .MaxDropDownItems = 9
                .FlatStyle = FlatStyle.Popup
                .AutoComplete = True
     
            End With
            Return column
        End Function
        Private Sub SetAlternateChoicesUsingDataSource( _
            ByVal comboboxColumn As DataGridViewComboBoxColumn)
            With comboboxColumn
                .DataSource = RetrieveAlternativeTitles()
                .ValueMember = ColumnName.ProductID.ToString()
                .DisplayMember = ColumnName.ProductName.ToString()
                .AutoComplete = True
     
            End With
     
        End Sub
     
     
        Private Function RetrieveAlternativeTitles() As DataTable
            Return Populate( _
                "SELECT distinct ProductID, ProductName FROM ArchReportStock ORDER BY ProductName")
        End Function
     
        Private Sub SetAlternateChoicesUsingDataSource2( _
            ByVal comboboxColumn2 As DataGridViewComboBoxColumn)
            With comboboxColumn2
                .DataSource = RetrieveAlternativeTitles2()
                .ValueMember = ColumnName.ProductID.ToString()
                .DisplayMember = ColumnName.ProductName.ToString()
     
            End With
     
        End Sub
     
     
        Private Function RetrieveAlternativeTitles2() As DataTable
            Return Populate( _
                "SELECT distinct ProductID, ProductName, StoreID FROM ArchStockSetUp ORDER BY ProductName")
        End Function
     
        Private connectionString As String = My.Settings.PharmaDataConnectionString
     
        Private Function Populate(ByVal sqlCommand As String) As DataTable
            Dim PharmaDataConnectionString As New SqlConnection(connectionString)
            PharmaDataConnectionString.Open()
     
            Dim command As New SqlCommand(sqlCommand, _
                PharmaDataConnectionString)
            Dim adapter As New SqlDataAdapter()
            adapter.SelectCommand = command
            'fill the dataset
            'pour memoire dataset n a aucune liaison avec la bd
            'c est le dataAdapter qui le fill avec les données
            Dim table As New DataTable()
            table.Locale = System.Globalization.CultureInfo.InvariantCulture
            adapter.Fill(table)
     
            Return table
        End Function
     
     
     
    #End Region
    dans un combobox inséré dans un windows form j'utilise très facilement AutoCompleteMode = SuggestAppend pour configurer le comportement lors des saisies de texte.

    Comment pourrais je implementer ce même comportement dans mon datagridviewcomboboxcolumn ?

    Merci d'avance pour quiconque pourrait m'apporter un secours.

    Lendcap

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Dans la datagridview, le mode est toujours "DropDownList" ("suggest" est impossible")
    En mode standard (valeur dans la lste)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    With comboboxColumn2
                .AutoComplete = true 
    
    Realiser un mode suggest demande une grosse bidouille ou mieux la création d'un custom control pour la DataGridViewColumn. Voir par exemple le code à la fin de la discussion : http://stackoverflow.com/questions/1...o-datagridview
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

Discussions similaires

  1. Bloquer la saisie semi automatique du navigateur
    Par Oluha dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 01/02/2007, 22h53
  2. Problème avec la saisie semi-automatique d'internet explorer
    Par haltabush dans le forum Balisage (X)HTML et validation W3C
    Réponses: 14
    Dernier message: 07/02/2006, 13h23
  3. Saisie semi automatique
    Par Necron dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 06/02/2006, 09h05
  4. Saisie semi-automatique
    Par kurul1 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/01/2006, 08h20
  5. Liste déroulante en saisie semi automatique
    Par pier07 dans le forum Composants VCL
    Réponses: 4
    Dernier message: 29/07/2005, 17h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo