cs_JLuc01
Messages postés206Date d'inscriptionsamedi 17 janvier 2009StatutMembreDernière intervention 5 mars 2013
-
16 juin 2012 à 15:33
cs_JLuc01
Messages postés206Date d'inscriptionsamedi 17 janvier 2009StatutMembreDernière intervention 5 mars 2013
-
16 juin 2012 à 20:33
Bonjour,
J'ai besoin d'une precision ou amelioration de code.
Je voudrais mettre a jour ma liste chaque fois que je change le texte d'une TextBox:
Declaration de la List:
Public myProjectList As New List(Of Project)
Code que j'utilise et ca marche:
Private Sub txtCustomer_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCustomer.TextChanged
For Each pItem As Project In myProjectList
pItem.pCustomer = txtCustomer.Text
Next
End Sub
Code que je voudrais utiliser (ou quelquechose de similaire), mais ca marche pas:
Private Sub txtCustomer_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCustomer.TextChanged
myProjectList.Item(0).pCustomer = txtCustomer.Text
End Sub
Car faire une boucle FOR EACH me parait excessif.
Est-il possible de faire quelquechose de plus propre ou plus simple que ce que je fais actuellement?
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024159 16 juin 2012 à 20:00
Bonjour,
Si Index=0 n'existe pas, c'est que ta collection est vide.
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list ---
Mon site
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 16 juin 2012 à 20:32
Si elle n'y est pas déjà, non. Il faut passer par un Add (de mémoire). L'index 0, avec ton code, tu peux le modifier s'il existe déjà, mais pas le créer
[i][b]---- Sevyc64 (alias Casy) ----
[hr]# LE PARTAGE EST NOTRE FORCE #/b/i
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024159 16 juin 2012 à 17:29
Bonjour,
Rapidement, si j'ai bien compris :
Tu cherches à mettre à jour le nom d'un projet, en le recherchant parmis la liste ?
Si oui, 2 solution :
- Sauvegarder son index dans une variable puis la réutiliser
- Utiliser un Dictonary(Of ...)
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices.[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : ).[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualBasic (onglet Références dans les propriétés du projet).[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés/list ---
Mon site
cs_JLuc01
Messages postés206Date d'inscriptionsamedi 17 janvier 2009StatutMembreDernière intervention 5 mars 20131 16 juin 2012 à 19:13
Bonjour,
Message d'erreur:
Index was out of range. Must be non-negative and less than the size of the collection. Parameter name: index
Pour le code suivant:
Private Sub txtCustomer_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtCustomer.TextChanged
myProjectList.Item(0).pCustomer = txtCustomer.Text
End Sub
Je ne comprends pas pourquoi il y a un probleme d'index.
cs_JLuc01
Messages postés206Date d'inscriptionsamedi 17 janvier 2009StatutMembreDernière intervention 5 mars 20131 16 juin 2012 à 20:04
En fait non, "Items" is not a member of System.Collections.Generic.List(Of...
Ce n'est peut-etre pas possible de mettre directement la donnee (le string 'txtCustomer.Text') dans ma List???