J'ai un tas de listes déroulantes que je remplis à partir d'un fichier xml en utilisant linq. J'ai essayé ce qui suit pour les remplir et ça marche d'une certaine façon, le seul problème est que lorsqu'un élément manque, par exemple. sous-titre Je reçois un espace vide dans la liste déroulante. En outre, je ne reçois pas les valeurs distinctes de chaque liste déroulante mais toutes les valeurs. Voir ci-dessous le code meilleur moyen de remplir une liste déroulante avec linq à xml
var feeds = (from item in doc.Descendants("item")
select new
{
channel = (string)item.Element("channel") ?? null,
specialtoken = (string)item.Element("specialtoken") ?? null,
subchannel = (string)item.Element("subchannel") ?? null,
subtitle = (string)item.Element("subtitle") ?? null,
}).ToList().Distinct();
cboChannel.DataSource = feeds;
cboChannel.DataBind();
cboSpecialToken.DataSource = feeds;
cboSpecialToken.DataBind();
cboSubChannel.DataSource = feeds;
cboSubChannel.DataBind();
cboSubtitle.DataSource = feeds;
cboSubtitle.DataBind();
...And so on....
Y at-il une meilleure façon que de diviser chaque élément de valeur dans une requête séparée par exemple ?
Cheers, Chris
var specialtoken = (from item in doc.Descendants("item")
select new
{
specialtoken = (string)item.Element("specialtoken") ?? null,
}).ToList().Distinct();
var channel= (from item in doc.Descendants("item")
select new
{
channel = (string)item.Element("channel") ?? null,
}).ToList().Distinct();
etc. etc.
HMMH, c'est ce que je pensais. Il semble qu'il n'y ait pas vraiment de manière élégante de gérer cette situation. Merci quand même pour le pourboire. – Chris