Lecture listview et ecriture

Résolu
trucss Messages postés 189 Date d'inscription jeudi 17 février 2022 Statut Membre Dernière intervention 23 janvier 2024 - Modifié le 12 mai 2022 à 09:09
vb95 Messages postés 3469 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 8 avril 2024 - 12 mai 2022 à 23:08
Bonjour,
Je remplis une listview et je voudrais par la suite lire chaque ligne et si j'ai une valeur colonne A et colonne C ecrire un truc dans colonne D est balayer ainsi la listview
Merci

 If Split(tmp, ";")(0) = "OP" Then
                Dim items As String() = New String(4) {}
                items(0) = jeux
                items(2) = Split(tmp, ";")(1)
                items(3) = Split(tmp, ";")(2)

                Dim lvi As New ListViewItem(items)
                listview .Items.Add(lvi)
A voir également:

3 réponses

trucss Messages postés 189 Date d'inscription jeudi 17 février 2022 Statut Membre Dernière intervention 23 janvier 2024 1
12 mai 2022 à 14:13
J'arrive a lire chaque ligne de la listview mais je n'arrive pas a ecrire dans la colonne 4 si la condition est bonne.

 For boucle = 0 To listview.Items.Count - 1

            If listview.Items(boucle).SubItems(2).Text <> "" And listview.Items(boucle).SubItems(0).Text <> "" Then
              
                listview.Items(boucle).SubItems.Add("test")' ecrire dans la colonne 4
            End If
0
vb95 Messages postés 3469 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 8 avril 2024 169
Modifié le 12 mai 2022 à 15:05
Bonjour
Tu codes en VB Net à ce que je vois . Pourquoi avoir mis ton post dans la catégorie C# ? J'ai corrigé cela . Prière de faire attention la prochaine fois .
De plus pour une variable de boucle For Next on utilise généralement i, j comme nom de variable
Maintenant voyons pour la colonne 4 pour toi .
Les colonnes commencent à 0 donc ta colonne 4 est en vérité la colonne 3 pour Visual Basic .
Il faut que les 4 colonnes ( de 0 à 3 ) existent dans la Listview .
For i = 0 To listview1.Items.Count - 1
      With listview1.Items(i)
            If .SubItems(2).Text <> String.Empty AndAlso .SubItems(0).Text <> String.Empty Then
                     .SubItems(3).Text = "test" ' écrire dans la quatrième colonne
            End If
     End With
Next


A remarquer
1) Le With ..... End With qui te permet de ne pas répéter dans le code listview1.Items(i) . Note que With en anglais signifie Avec en français .
2) On préfère utiliser String.Empty que "" pour une chaine vide .
3) J'ai renommer le contrôle en listview1 . Car Listview est un type de contrôle tout comme Label, Button, etc .... L'idéal serait de la nommer ListViewData par exemple .
4) Le AndAlso . Avec un And on vérifie les 2 conditions alors qu'avec AndAlso on vérifie la première et si besoin on vérifiera la seconde .
Avec un And on verifie si les 2 conditions sont <> String.Empty
Avec un AndAlso on vérifie la première . Si elle est Vrai ( True ) on teste la seconde . Si elle est Fausse ( False) on ne vérifie pas la seconde et on passe directement après le End If


0
trucss Messages postés 189 Date d'inscription jeudi 17 février 2022 Statut Membre Dernière intervention 23 janvier 2024 1
12 mai 2022 à 17:14
Merci j'ai bien tout compris merci du tuyau
Dernière question quand je lire un fichier texte ligne par ligne je voudrais récupérer la dernière valeur après ;
la position est aléatoire donc je peux pas utiliser split
0
Whismeril Messages postés 19011 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 10 avril 2024 654 > trucss Messages postés 189 Date d'inscription jeudi 17 février 2022 Statut Membre Dernière intervention 23 janvier 2024
12 mai 2022 à 17:32
Bonjour
donc je peux pas utiliser split ben si, il suffit de prendre la dernière valeur du tableau retourné.

Option 1 avec la propriété Length
Option 2 avec la méthode Last()
0
trucss Messages postés 189 Date d'inscription jeudi 17 février 2022 Statut Membre Dernière intervention 23 janvier 2024 1 > Whismeril Messages postés 19011 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 10 avril 2024
12 mai 2022 à 19:25
Merci whismeril
Fichier de la forme
Ex1;ex2;ex3
Ex1;ex2
Ex1;ex2;ex3;ex4
Donc si je comprend quand je vais lire la première ligne avec last() il va me retourner ex3 ?
0
Whismeril Messages postés 19011 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 10 avril 2024 654 > trucss Messages postés 189 Date d'inscription jeudi 17 février 2022 Statut Membre Dernière intervention 23 janvier 2024
12 mai 2022 à 20:45
oui
1
vb95 Messages postés 3469 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 8 avril 2024 169 > trucss Messages postés 189 Date d'inscription jeudi 17 février 2022 Statut Membre Dernière intervention 23 janvier 2024
12 mai 2022 à 23:08
Ca c'est bon aussi !
N'oublie pas de fermer le sujet ( voir message n° 5 )
Merci
1
vb95 Messages postés 3469 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 8 avril 2024 169
Modifié le 12 mai 2022 à 17:40
Merci .
Si le problème de listview est résolu prière de fermer le sujet ( voir l'image ) avec les 3 points de ton premier message .

Pour ta dernière question intéresses toi aux méthodes LastIndexOf et Substring de la classe String ( dans ce cas on n'utilise pas Split ).
Ou tu fais comme Whismeril te conseille ( un salut à lui en passant )
En cas de difficulté sur cette question ouvres un nouveau sujet .

0
Rejoignez-nous