DataValueField et DataTextField

Résolu
Paramba Messages postés 47 Date d'inscription vendredi 18 novembre 2005 Statut Membre Dernière intervention 3 septembre 2012 - 22 sept. 2006 à 17:45
Miczka Messages postés 4 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 5 septembre 2009 - 26 août 2009 à 10:09
Bonjour
Est il possible d'avoir un exemple d'utilisation de DataValueField et DataTextField appliquées à un contrôle ListBox?
Merci d avance

4 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
22 sept. 2006 à 23:33
DataTable datas = new DataTable();
datas.columns.add("Label");
datas.columns.add("ID");

...

LaListBox.DataSource = datas;
LaListBox.DataTextField = "Label";
LaListBox.DataValueField = "ID";
LaListBox.DataBind();

Ces 2 propriétés permettent de connaitre quelle propriété du datasource la listbox doit utiliser pour afficher le text (DataTextField) et la valeur (DataValueField). Quelques soit la source de données (collection typé, DataReader, DataTable) il faut qu'elle contiennent les 2 propriétés renseignés dans DataTextField et DataValueField pour que ton listbox puisse afficher les items.

Ensuite tu pourras recuperer facilement l'item selectionné en faisant LaListBox.SelectedItem.Text qui correspondra a la propriété Label du datasource de la ligne selectionné et LaListBox.SelectedItem.Value qui correspondre a la propriété ID du datasource de la ligne selectionné.

<hr />Cyril - MVS - MCP
3
Paramba Messages postés 47 Date d'inscription vendredi 18 novembre 2005 Statut Membre Dernière intervention 3 septembre 2012
23 sept. 2006 à 01:28
Excellent!!!!!!!!!Très claire explication....
0
Miczka Messages postés 4 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 5 septembre 2009
24 août 2009 à 14:43
Bonjour à tous,

Je suis nouveau ici, débutant en C#.
Je me permets de remonter ce topic car il correspond assez bien à la question que je vais poser.
S'il est préférable de lancer un nouveau sujet pour ce genre de cas, je m'en excuse d'avance, je ne connais pas encore les habitudes de ce forum.

Mon problème :
je crèe plusieurs checkboxlist dynamiquement au sein d'une table.
(une checkboxlist par ligne).
A l'affichage, mes données entrées en DataValueField s'affichent à côté de mes checkbox (comme si je les avais assignées à un DataTextField): je voudrais éviter cela. Et donc arrivée à un affichage avec les Checkbox seules, sans texte à côté.
Voici le code.

(...)
            for (int i = 0; i < datb2.Tables[0].Rows.Count; i++)
            {
                // création rows et cellules
                TableRow row = new TableRow();
                TableCell cell = new TableCell();
                TableCell cell2 = new TableCell();
                cell.Text = "" + datb2.Tables[0].Rows[i][3].ToString()+"";
                //création cblist
                CheckBoxList cbl = new CheckBoxList();
                cbl.ID = "q2_b_2" + datb2.Tables[0].Rows[i][6].ToString();
                cbl.DataSource = bddu4.selectDonnee("q2_b_1", Request.QueryString["langue"].ToString(), Request.QueryString["pays"].ToString());
                cbl.DataValueField = "ordre";
                cbl.DataBind();
                cell2.Controls.Add(cbl);

(...)
0
Miczka Messages postés 4 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 5 septembre 2009
26 août 2009 à 10:09
Ma question n'a pas eu trop de succès.
Je publie quand même la solution :

voici le code utilisé pour régler le problème

 cbl.Font.Size = FontUnit.Point(0);  

cbl.Font.Size = FontUnit.Point(0);



Il doit y avoir une solution plus élégante, mais ceci fonctionne.
0
Rejoignez-nous