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 :

recuperer a partir d'un combobox [Débutant]


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 32
    Par défaut recuperer a partir d'un combobox
    je travaille en vb.net visualbasic2008
    j'ai une combobox (cmbtype) remplir a partir d'une base de données (datatable "DL")
    DL contient l'exécution de la requête suivant :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    select * from Typemateriel


    puis je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    cmbtype.datasource=DL
    cmbtype.displaymenber="NomType"
    cmb.valuemember="CodeType"
    cela fonctionne correctement et la cmbtype rempli

    mais le problème si je veux récupérer l'tem en faisant cmbtype.selected item.tostring() cela me rendre (system.data.datarowview) la méme pour cmb.type.selectedvalue.tostring


    aider moi mes amis svp et merci d'avance

  2. #2
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    Peux-tu afficher le code de manière plus complète (et avec la balise CODE) et préciser l'erreur (exception?) s'il te plait ?

  3. #3
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 32
    Par défaut
    tout d'abord merci pour votre ecoute

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Public Shared Sub ouvrirRequete(ByVal req As String, ByRef d As DataTable)
            Try
                Dim cd As OleDbCommand
                cd = New OleDbCommand(req, cn)
                Dim da As New OleDbDataAdapter
                da = New OleDbDataAdapter(cd)
                d = New DataTable
                da.Fill(d)
            Catch ex As Exception
                MsgBox("erreur lors de l'ouverture de la requete" & req & " : " & ex.Message, MsgBoxStyle.Critical, "erreur")
            End Try
        End Sub
    puis

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Public Sub remplirtype()
            Dim req As String = ""
            Dim dl As DataTable = Nothing
     
            req = " select * from TypeMateriel order by CodeType"
     
            ouvrirRequete(req, dl)
            CmbtypeP1.DataSource = dl
            CmbtypeP1.ValueMember = "CodeType"
            CmbtypeP1.DisplayMember = "NomType"
        End Sub

    cela fonctionne correctement la combobox rempli correctement

    mais si je fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Dim lcombo As String
    lcombo = CmbtypeP1.selecteditem
    If lcombo = "Ordinateur" Then
             msgbox("c'est ordinateur")
     End If
    une exeption ce produit a la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    lcombo = CmbtypeP1.selecteditem
    l'erreur est:
    L'argument 'Prompt' ne peut pas être converti en type 'String'.
    merci d'avane

  4. #4
    Membre éclairé Avatar de hugoclo
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2007
    Messages : 615
    Par défaut
    En faisant juste
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    If  CmbtypeP1.selecteditem  is DbNull.value then   
    else
    If CmbtypeP1.selecteditem = "Ordinateur" Then
    msgbox("c'est ordinateur")
    End If
    End if
    Ne pas oublier le marqueur résolu.(Voir vos anciens Post)

  5. #5
    Membre actif
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 32
    Par défaut
    merci amigos

    mais elle produit cette erreur suivant :
    La résolution de surcharge a échoué, car aucun '=' Public ne peut être appelé avec ces arguments : 'Public Shared Operator =(a As String, b As String) As Boolean': L'argument qui correspond au paramètre 'a' ne peut pas être converti de 'DataRowView' en 'String'.

  6. #6
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    Pour la comparaison de String, il faut prendre l'habitude de procéder ainsi :

    (Je mets en C#, je vous laisse convertir en VB avec les bons objets)
    Code C# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if ("MyString".Equals(myObject.StringValue, StringComparison.CurrentCultureIgnoreCase)) {
         ...
    }

    (ou CurrentCulture si la casse est importante)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Débutant] recuperer a partir d'un combobox
    Par marouprod dans le forum VB.NET
    Réponses: 3
    Dernier message: 18/07/2011, 16h15
  2. Remplir un textbox à partir d'un combobox
    Par gringo96 dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 17/08/2006, 19h08
  3. recuperer ServletConfig à partir d'une action
    Par david06600 dans le forum Struts 1
    Réponses: 2
    Dernier message: 16/08/2006, 15h06
  4. recuperer la valeur d'une combobox pour la comparer dans une requête
    Par Rukawa dans le forum VB 6 et antérieur
    Réponses: 7
    Dernier message: 30/06/2006, 11h22

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