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 :

VB.NET: ajouter manulement un item combobox apres remplissage avec un datasource


Sujet :

VB.NET

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 259
    Points : 90
    Points
    90
    Par défaut VB.NET: ajouter manulement un item combobox apres remplissage avec un datasource
    Bonjour, j'essaye avec la commande combo.items.add("Tous") d'ajouter mon élément "Tous" avant ou apres avoir rempli mon combobox avec un dataset :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    myDataset = RequeteSQL(myQueryStr)
                    DDL_SELECTION.DisplayMember = "Description"
                    DDL_SELECTION.ValueMember = "Code"
                    DDL_SELECTION.DataSource = myDataset.Tables(0)
    mais soit rien n'apparaît soit j'ai une erreur "Impossible de modifier la collection d'éléments lorsque la propriété DataSource est définie"
    Comment faire ?
    Merci !

  2. #2
    Membre actif Avatar de Elwe31
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    487
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 487
    Points : 220
    Points
    220
    Par défaut
    Salut,

    Ben avec un dataTable que tu chages avec ton 'Tous" puis avec touts les rows du datatable qui va bien !!!
    exemple :
    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
     
                Dim nomCol() As String = {"Code", "Description"}
                Dim tempTable As New Data.DataTable
                Dim TabCol(nomCol.Length) As Data.DataColumn
                For i As Integer = 0 To nomCol.Length - 1
                    TabCol(i) = New DataColumn(nomCol(i), Type.GetType("System.String"))
                    TabCol(i).ColumnName = nomCol(i).ToString()
                    tempTable.Columns.Add(TabCol(i))
                Next
                Dim Rows() As DataRow
                Try
                    Rows = myDataset.Tables(0).rows
                    Dim NVentree As Data.DataRow
                    NVentree = tempTable.NewRow()
                    NVentree(0) = "TT"
                    NVentree(1) = "Tous"
                    tempTable.Rows.Add(NVentree)
                    For Each row As DataRow In Rows
                        NVentree = new Data.DataRow
                        NVentree = tempTable.NewRow()
                        NVentree (0) = row(0).ToString
                        NVentree (1) = row(1).ToString 
                        tempTable.Rows.Add(NVentree )
                    Next
                    DDL_SELECTION.DisplayMember = "Description"
                    DDL_SELECTION.ValueMember = "Code"
                    DDL_SELECTION.DataSource = tempTable
                Catch ex As Exception
                    MessageBox.Show(ex.Message)
     
                End Try
    Voila voila
    - La communication consiste a comprendre celui qui ecoute !
    - Qui veut faire quelquechose trouve un moyen, qui ne veut rien faire trouve une excuse

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 118
    Points : 71
    Points
    71
    Par défaut
    Tu dois paramétrer ta liste pour pouvoir la modifier malgré sa liaison avec les données :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Liste.AppendDataBoundItems = True
    Code, haiku, cinéma, mon fourre-tout : http://ashaku.free.fr

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    259
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2003
    Messages : 259
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par SkyBack Voir le message
    Tu dois paramétrer ta liste pour pouvoir la modifier malgré sa liaison avec les données :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Liste.AppendDataBoundItems = True
    ça me dit que .AppendDataBoundItems n'est pas un membre de system.windows.forms.combobox

    Citation Envoyé par Elwe31 Voir le message
    Salut,

    Ben avec un dataTable que tu chages avec ton 'Tous" puis avec touts les rows du datatable qui va bien !!!
    exemple :
    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
     
                Dim nomCol() As String = {"Code", "Description"}
                Dim tempTable As New Data.DataTable
                Dim TabCol(nomCol.Length) As Data.DataColumn
                For i As Integer = 0 To nomCol.Length - 1
                    TabCol(i) = New DataColumn(nomCol(i), Type.GetType("System.String"))
                    TabCol(i).ColumnName = nomCol(i).ToString()
                    tempTable.Columns.Add(TabCol(i))
                Next
                Dim Rows() As DataRow
                Try
                    Rows = myDataset.Tables(0).rows
                    Dim NVentree As Data.DataRow
                    NVentree = tempTable.NewRow()
                    NVentree(0) = "TT"
                    NVentree(1) = "Tous"
                    tempTable.Rows.Add(NVentree)
                    For Each row As DataRow In Rows
                        NVentree = new Data.DataRow
                        NVentree = tempTable.NewRow()
                        NVentree (0) = row(0).ToString
                        NVentree (1) = row(1).ToString 
                        tempTable.Rows.Add(NVentree )
                    Next
                    DDL_SELECTION.DisplayMember = "Description"
                    DDL_SELECTION.ValueMember = "Code"
                    DDL_SELECTION.DataSource = tempTable
                Catch ex As Exception
                    MessageBox.Show(ex.Message)
     
                End Try
    Voila voila
    ça me dit pour Rows = myDataset.Tables(0).rows que 1 valeur de type System.data.rowcollection
    ne peut etre converti en tableau à 1 dimension

    et pour la ligne NVentree = New Data.DataRow :
    "n'est pas accessible dans ce contexte car elle est protected friend"

Discussions similaires

  1. [Débutant] Ajouter items combobox apres remplissage avec datasource
    Par kh.akram09 dans le forum VB.NET
    Réponses: 2
    Dernier message: 04/04/2012, 09h29
  2. Rafraichir ComboBox après MAJ d'une DataSource
    Par KZR-57 dans le forum InfoPath
    Réponses: 5
    Dernier message: 21/10/2008, 11h40
  3. [VB.NET][2.0]Positionner mon combobox sur un item déterminé
    Par Golzinne dans le forum Windows Forms
    Réponses: 5
    Dernier message: 27/03/2006, 14h30
  4. [C#][.Net 2.0] donner focus à Combobox, après click sur treeview
    Par Harry_polin dans le forum Windows Forms
    Réponses: 3
    Dernier message: 17/02/2006, 22h27
  5. [VB.NET] ajouter combobox dans un datagrid
    Par HULK dans le forum Windows Forms
    Réponses: 6
    Dernier message: 27/10/2005, 14h30

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