2010-12-08 51 views
0

J'ai une liste nommée lbselectedcom dans ma page Web. et je lie certaines données à cette zone de liste en utilisant une table de données. ce nom datatable dt 3 champs ont -nom, ID, ScoreY at-il de toute façon de lier plusieurs valeurs au champ de valeur d'une zone de liste -C# et ASP> NET

 lbSelectedCom.DataTextField = "Name"; 
     lbSelectedCom.DataValueField = "ID";   

     lbSelectedCom.DataSource = dt.DefaultView; 
     lbSelectedCom.DataBind(); 

Il fonctionne fine.Now je veux obtenir un score du nom correspondant à leur carte d'identité. ID sera facilement obtenu en utilisant la propriété de valeur sélectionnée. Est-il possible de lier le champ Score comme ID dans datavaluefield ?? Pour que je puisse facilement accéder au score de chaque élément sélectionné comme l'accès à l'ID en utilisant la propriété de valeur sélectionnée

Répondre

2

Vous pouvez ajouter une nouvelle colonne à votre datatable. Et définissez la valeur de cette colonne pour être concaténation de l'ID et du score séparés par un délimiteur.

http://msdn.microsoft.com/en-us/library/system.data.datacolumn.expression(VS.71).aspx

+0

puis-je ajouter une nouvelle colonne à datatable de codebehind en utilisant l'expression ??? Pouvez-vous me donner un exemple? –

+0

Le lien a l'exemple en bas. –

1

Une autre façon serait de créer une nouvelle vue de dt, appliquer un filtre sur l'ID sélectionné, obtenir l'enregistrement et la valeur du champ dont vous avez besoin de la nouvelle vue .. vous pouvez enfin même choisir de conserve la nouvelle vue et rafraîchit simplement sa condition de filtre pour d'autres valeurs de sélection.

L'avantage de cette méthode est que vous pouvez accéder à n'importe quel champ de la ligne datable correspondante de l'élément sélectionné.