Éclaircissement concernant le databind avec dropdownlist [Résolu]

Signaler
Messages postés
8
Date d'inscription
dimanche 19 septembre 2004
Statut
Membre
Dernière intervention
3 janvier 2009
-
Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
21 juillet 2010
-
bonjour à tous,

j'utilise souvent des dropdownlist que je peuple avec des résultats qui viennent de ma base de données.

Ce que je voudrai savoir c'est de trouver la meilleur technique pour faire ceci :

je selectionne un élément dans la dropdownlist, je le modifie dans un textbox, je click sur un bouton et dans la dropdownlist la nouvelle valeur apparait directement.

ce que je fais :

- je peuple la dropdownlist
- lorsque je click sur le bouton, je fais dans le code behind ma requête, je fais "items.clear()" sur ma dropdownlist + un databind.

Si je ne fais pas de databind : la nouvelle valeur n'apparait pas / mais j'ai les résultat en double dans la dropdown list !
Je fais le items.clear() avant comme ca il n'y a pas de doublon

Mais j'ai l'impression que cette techinque est assez "barbare", n'y aurait-il pas un autre moyen plus propre de faire les choses ?

Merci d'avance.

3 réponses

Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
21 juillet 2010
1
Bonsoir,

Avec un sqldatasource, donc, sur l'événément textchanged du textbox :

 protected void TextBox1_TextChanged(object sender, EventArgs e)
    {
        string sqlins = "INSERT Themes (Theme) VALUES ('" + TextBox1.Text + "')";
        SqlDataSource1.InsertCommand = sqlins;
        SqlDataSource1.Insert();
       
    }

En principe, ta dropdownlist devrait être mise à jour automatiquement.
Note toutefois que la requête, dans cet exemple, n'est pas une requête paramétrée, ce qui n'est pas formidable pour la sécurité. Il vaudra mieux modifier.

GGtry
Messages postés
417
Date d'inscription
vendredi 13 juin 2008
Statut
Membre
Dernière intervention
21 juillet 2010
1
Bonsoir,

Tu peux essayer (en vb.) :

Protected Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim sqlins As String
        sqlins = "INSERT Tatable (Tonchamp) VALUES ('" & TextBox1.Text & "')"
        SqlDataSource1.InsertCommand = sqlins
        SqlDataSource1.Insert()
    End Sub

GGtry
Messages postés
8
Date d'inscription
dimanche 19 septembre 2004
Statut
Membre
Dernière intervention
3 janvier 2009

Bonjour,
excuse moi je n'ai pas précisé ca aurait été mieux en C# ^^.