Lecture d'une cellule datagridview ligne par ligne [Résolu]

Messages postés
40
Date d'inscription
jeudi 29 septembre 2005
Statut
Membre
Dernière intervention
30 mai 2008
- - Dernière réponse : ggrug26
Messages postés
40
Date d'inscription
jeudi 29 septembre 2005
Statut
Membre
Dernière intervention
30 mai 2008
- 30 mai 2008 à 10:29
Bonjour à tous,

La je crois que je vais avoir besoin de vos lumières...

J'ai un DataGridView, je sais le remplir, je sais le lire, mais voila, dans une cellule je vais avoir plusieurs ligne.

Je voudrais pouvoir lire les lignes indépendamment..
comment puis-je faire?

Pour lire le contenu entier de la cellule, j'utilise:
stringstNbContactsIntern = dataGridViewbdd.Rows[numlign].Cells[4].Value;

Mais quel sont les solutions pour lire lires lignes 1 à 1?
J'avais penser a écrire le contenu dans un fichier texte et le relire, étant donné que mes séparateur sont des retour chariot (\r\n)
en relisant le fichier ligne par ligne, pas de souci. Mais je pense que ce ne sera pas très propre, donc avez vous une autres solution ou pensez vous que la mienne soit une bonne solution?

Merci de votre aide.
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
41
Date d'inscription
jeudi 12 janvier 2006
Statut
Membre
Dernière intervention
30 octobre 2008
1
3
Merci
En utilisant la méthode split() ?


string separateur = "\r\n";
// (peut être doubler les \)



char[] delim = separateur .ToCharArray();



string[] var_chaine = TaChaine.Split(delim );



element1 = var_chaine[0];
element2 = var_chaine[1];

...

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 137 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Amelie_29
Messages postés
561
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
10 juin 2010
0
Merci
compiler tous les éléments d'une ligne ?
stringbuilder dd = new stringBuilder();
loop sur i
dd.append(dataGridViewbdd.Rows[numlign].Cells[i].Value;)

end loop

dd.tostring();

un truc du style

loop end loop c'est juste pour dire qu'il faut une loop, a toi de voir les paramètres de la boucle

c'est une solution pas très pro si qqun a auter chose
Commenter la réponse de GillouXman
Messages postés
40
Date d'inscription
jeudi 29 septembre 2005
Statut
Membre
Dernière intervention
30 mai 2008
0
Merci
non, justement je cherche le contraire,

dans une cellule, tu ne peux ecrire que sur une ligne, mais si tu écris du texte (objet de la BDD: mémo) avec des retour chariot, comment fais tu pour récupérer le texte entre chaque retour chariot, (ou eventuellement, n'importe quel caractère de référence).

ex: le texte suivant:
"ceci est
un test
de découpage
des lignes"

récupéré de la cellule donnera: "ceci est \r\n un test \r\n de découpage \r\n des lignes"

et mon but et de récupérer chaque chaine entre les \r\n.

J'espère avoir été plus clair...

Merci de votre aide.
Commenter la réponse de ggrug26
Messages postés
40
Date d'inscription
jeudi 29 septembre 2005
Statut
Membre
Dernière intervention
30 mai 2008
0
Merci
Merci  Amelie_29

avec ton ptit exemple et l'aide j'ai pu sortir ça :

char[] delimiterChars = {
'.'};

string text =
Convert.ToString(dataGridViewlist.Rows[1].Cells[6].Value);

string[] resulText = text.Split(delimiterChars);

foreach (
string s
in resulText)
{

     MessageBox.Show(s);
}

Par contre si je comprend bien  il faut utiliser ta méthode si on veut utiliser 1 séparateur de plus d'un caractère:
string
separateur = "\r\n";
char[] delim = separateur .ToCharArray();

Sinon si on a qu'un caractère autant utiliser:
char[] delimiterChars = {
'.'};

En tout cas merci, c'est des trucs assez simple mais j'avais encore jamais eu besoin de couper des string en C#...
Donc quand on sait pas .. maintenant c'est bon ça me parait simple    :-)
Merci a toi.
Commenter la réponse de ggrug26