La valeur n'est pas comprise dans la plage attendue
J'utilise le code suivant pour mettre à jour une zone de liste, ce recieving une liste à partir d'un service web-
client.userKeywordsCompleted += new EventHandler<userKeywordsCompletedEventArgs>(client_userKeywordsCompleted);
client.userKeywordsAsync();
aide -
void client_userKeywordsCompleted(object sender, userKeywordsCompletedEventArgs e)
{
string result = System.Convert.ToString(e.Result);
for (int i = 0; i < e.Result.Count; i++)
{
ListBoxItem lbitem = new ListBoxItem();
lbitem.Name = "lb_" + i;
lbitem.Content = e.Result[i];
lbitem.AddHandler(UIElement.MouseLeftButtonDownEvent, new MouseButtonEventHandler(ListBoxItem_DoubleClickEvent), true);
listBox1.Items.Add(lbitem);
}
Cela fonctionne bien, je l'utilise quand la fenêtre Enfant de charges, de sorte que la zone de liste obtient la liste à partir de la base de données, cependant, quand un utilisateur sélectionne l'un des éléments de la listbox, ils ont la possibilité de modifier l'élément sélectionné. Ainsi, l'une de l'édition est en place, il y a un bouton éditer, qui met à jour la colonne de la table dans la base de données. Alors sur le bouton cliquez sur, je suis de nouveau d'appeler le code mentionné ci-dessus pour mettre à jour la zone de liste avec les nouvelles informations. Cependant, cela apporte bcak l'erreur -
"Value does not fall within the expected range."
Pourquoi je ne peux pas appeler la méthode web sur le bouton cliquez sur, comme tout, c'est fait, c'est l'actualisation de la listbox???
OriginalL'auteur Ebikeneser | 2012-04-23
Vous devez vous connecter pour publier un commentaire.
Cela pourrait être dû au fait que vous essayez d'ajouter un ListBoxItem avec un même nom de la page.
Si vous souhaitez actualiser le contenu de la zone de liste avec les nouvelles valeurs récupérées, vous devrez d'abord supprimer manuellement le contenu de la zone de liste à l'autre sage de votre boucle va essayer de créer lb_1 de nouveau et l'ajouter à la liste.
Regardez ici pour un problème similaire qui s'est produit Silverlight: la Valeur n'est pas comprise dans la plage attendue exception
Acclamations,
En fait je viens d'ajouter une fonction effacer de la liste des articles sur le bouton cliquez sur, cela fonctionne dans l'introduction de la gestion avec les options en cours d'actualisation, mais si je le fais à nouveau la zone de liste ne s'actualise pas, savez-vous pourquoi il en est?
Après vous claire, juste pour le plaisir de débogage s'assurer que la liste des éléments est vide. Peut-être vous devriez envisager de mettre au clair dans la fonction de rappel.
Triés, mis au clair dans les rappels, si vous le définir comme votre réponse, je vais marquer comme correcte. Merci bud.
Je suis content que ça fonctionne!
OriginalL'auteur Stainedart
J'ai eu de une totalement différente raison, le même avis, "la Valeur n'est pas comprise dans la plage attendue" de Visual studio 2008, tout en essayant d'utiliser:
Outils -> Windows Embedded Silverlight Outils -> mise à Jour de Silverlight Pour Windows Embedded Projet.
Après avoir passé de nombreuses ohurs j'ai trouvé que le problème était qu'il n'y avait pas un fichier de ressources et la mise à jour de l'outil de recherche le .Fichier RC
À cet effet la solution est d'ajouter dans le dossier de ressources un .Fichier RC et qu'il fonctionne parfaitement.
J'espère que ça aidera quelqu'un là-bas
OriginalL'auteur Chaim Gluck
En cas de WSS 3.0 récemment, j'ai connu le même problème. C'était à cause de la colonne qui était accessible à partir du code n'était pas présent dans le wss liste.
OriginalL'auteur CPW