Comment remplir une dropdownlist avec une requête ? voila la solution

Soyez le premier à donner votre avis sur cette source.

Snippet vu 28 474 fois - Téléchargée 29 fois

Contenu du snippet

voila du code pour remplir un DropDownList avec le résultat d'une requête sql

Source / Exemple :


Imports System.Data.SqlClient

'voila comment on l'appel 
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

        ChoixPoste.Text = "choisir le poste"
        Dim requete1 As String = "select tutu,tata from titi"

        If Not IsPostBack Then
           init_DropDownList("nom base de données", requete1, DropDownList1, "champ à afficher ici tutu", "la clé qui lui correspond disons tata")
            DropDownList1.Items.Insert(0, "<--------------selectionner-------------->")
        End If

    End Sub

'voila la procédure qui le gère
Sub init_DropDownList(ByVal BDD As String, ByVal requete As String, ByRef ld As DropDownList, ByVal TextField As String, ByVal ValueField As String)

       'connection a la base de données
        MyConnection = New SqlConnection
        MyConnection.ConnectionString = "server='nom machine';database='nom base de données';user id='user';password='mot de passe';Trusted_Connection=true"

        MyConnection.Open()

        Dim MyCommand As New SqlDataAdapter(requete, MyConnection)

        Dim DS As DataSet = New DataSet

        MyCommand.Fill(DS, "temp")

        ld.DataSource = DS.Tables("temp").DefaultView

        ld.DataTextField = TextField

        ld.DataValueField = ValueField

        ld.DataBind()

         MyConnection.Close()

    End Sub

Conclusion :


open source y'a que ca de vrai

A voir également

Ajouter un commentaire Commentaires
mimosa803 Messages postés 345 Date d'inscription jeudi 15 février 2007 Statut Membre Dernière intervention 24 avril 2010
28 févr. 2008 à 16:20
bonjour,
J'ai exécuter le code et que je sélectionne un item, le dropdownliste se positionne toujours sur le 1 er élément.
Merci
cs_buff Messages postés 1 Date d'inscription samedi 19 juillet 2003 Statut Membre Dernière intervention 31 août 2005
31 août 2005 à 22:37
Bonjour,

Personnellement, en appliquant cette méthode avec un datasource (Framework V2) autoalimenté, l'insert n'a aucun effet.
Auriez-vous une piste à me fournir ?

Merci d'avance,
cs_Yopyop Messages postés 586 Date d'inscription lundi 7 janvier 2002 Statut Membre Dernière intervention 10 février 2010 1
25 mai 2004 à 18:00
euh...pourquoi vous n'utilisez pas un datareader ?
tribals Messages postés 2 Date d'inscription lundi 26 avril 2004 Statut Membre Dernière intervention 28 avril 2004
28 avril 2004 à 17:24
tout ceci depend de comment tu l'utilise, pour ma part, cette procedure et dans un fichier tools.vb ce qui m'évite de répeter autant de fois que j'ai de DropDownList1 :
DropDownList1.DataTextField = TextField
DropDownList1.DataValueField = ValueField

mais ta remarque permet une autre approche ;-) ce qui n'est pas négligeable
merci pour ton message, j'adore les critiques ça permet d'avancé
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
28 avril 2004 à 16:25
d'habitude on fait pas comme ca mais un peu autrement :

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

ChoixPoste.Text = "choisir le poste"
Dim requete1 As String = "select tutu,tata from titi"

if Not IsPostBack Then
DropDownList1.Datasource = init_DropDownList("nom base de données", requete1)

DropDownList1.DataTextField = TextField

DropDownList1.DataValueField = ValueField

DropDownList1.Items.Insert(0, "<--------------selectionner-------------->")

DropDownList1.DataBind()
End If

End Sub

function init_DropDownList(ByVal BDD As String, ByVal requete As String as dataview

'connection a la base de données
MyConnection = New SqlConnection
MyConnection.ConnectionString = "server='nom machine';database='nom base de données';user id='user';password='mot de passe';Trusted_Connection=true"

MyConnection.Open()

Dim MyCommand As New SqlDataAdapter(requete, MyConnection)

Dim DS As DataSet = New DataSet

MyCommand.Fill(DS, "temp")

return DS.Tables("temp").DefaultView

MyConnection.Close()

End Sub


mais ca reste un bon exemple :)

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.