DataValueField et DataTextField [Résolu]

Paramba
Messages postés
47
Date d'inscription
vendredi 18 novembre 2005
Dernière intervention
3 septembre 2012
- 22 sept. 2006 à 17:45 - Dernière réponse : Miczka
Messages postés
4
Date d'inscription
lundi 24 août 2009
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
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
jesusonline
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Dernière intervention
13 octobre 2010
- 22 sept. 2006 à 23:33
3
Merci
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

Merci jesusonline 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 95 internautes ce mois-ci

Commenter la réponse de jesusonline
Paramba
Messages postés
47
Date d'inscription
vendredi 18 novembre 2005
Dernière intervention
3 septembre 2012
- 23 sept. 2006 à 01:28
0
Merci
Excellent!!!!!!!!!Très claire explication....
Commenter la réponse de Paramba
Miczka
Messages postés
4
Date d'inscription
lundi 24 août 2009
Dernière intervention
5 septembre 2009
- 24 août 2009 à 14:43
0
Merci
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);

(...)
Commenter la réponse de Miczka
Miczka
Messages postés
4
Date d'inscription
lundi 24 août 2009
Dernière intervention
5 septembre 2009
- 26 août 2009 à 10:09
0
Merci
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.
Commenter la réponse de Miczka

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.