Enregistrer le contenu d'un dataGrid

Résolu
emir238 Messages postés 5 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 6 juin 2005 - 6 juin 2005 à 11:33
emir238 Messages postés 5 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 6 juin 2005 - 6 juin 2005 à 15:21
salut a tous,
je souhaite lire toutes les cases d'un dataGrid et recuperer tout ce que je lis pour le copier ds un fichier texte. cependant, qd je fais ma lecture case par case ,il arrive un moment ou ca plante avec un message du style: pas d'index 5...... alors que je lui demande d'arreter la lecture qd il y a plus de valeur ds mon tableau.
je vous demande de l'aide.............SVP..

je vous montre le code:


dataGrid2.Select(0);

int j = 0;

string str;
str = dataGrid2[0,0].ToString();

while(str !=
null)
{

for(
int i=0;i<3;i++)
{
StreamWriter rr;
rr = File.AppendText(@"C:\test3.txt");
str = dataGrid2[j,i].ToString();

rr.WriteLine(str);

j++;
rr.Close();
}
}

4 réponses

MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
6 juin 2005 à 13:08
J'ai oublié d'enlever la déclaration de la string str dans ma réponse

Mx
3
MorpionMx Messages postés 3466 Date d'inscription lundi 16 octobre 2000 Statut Membre Dernière intervention 30 octobre 2008 57
6 juin 2005 à 13:07
Je pense que le j++ doit etre mal placé, sinon il est incrémenté a chaque valeur de i, donc ca devient incohérent.

il faut peut etre le sortir du for .



Sinon, pourquoi reinstancier ton streamwriter a chaque fois dans ton for ?

lui aussi, sort le de ton while et ferme le a la fin du while


j'imagine que ca devrait donner quelquechose comme ca



dataGrid2.Select(0);

int j = 0;

string str = dataGrid2[0,0].ToString();

StreamWriter rr = File.AppendText(@"C:\test3.txt");

while(str !=
null)
{

for(
int i=0;i<3;i++)
{

rr.WriteLine(
dataGrid2[j,i].ToString();
);

}

j++;

}


rr.Close();


Et n'oublies pas de faire des try/cactch pour recuperer les exceptions





Mx
0
emir238 Messages postés 5 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 6 juin 2005
6 juin 2005 à 13:28
je viens d'essayer mais il me sors toujours la même erreur.
pas de valeur a l'index n°X.....
je suis un peu perdu là.
0
emir238 Messages postés 5 Date d'inscription mardi 10 mai 2005 Statut Membre Dernière intervention 6 juin 2005
6 juin 2005 à 15:21
c bon g trouvé comment savoir le nombre de ligne qu'il y a ds mon datagrid et ne lire que les valeurs qu'il y a dedans....

voila le code:


int nbRow = ((CurrencyManager) BindingContext[dataGrid2.DataSource]).Count;


dataGrid2.Select(0);

string str;
str = dataGrid2[0,0].ToString();
StreamWriter rr =
new StreamWriter(@"C:\test.txt");

for(
int rowIndex = 0; rowIndex < nbRow; rowIndex++)
{

for (
int i=0;i<3;i++)
{
str = dataGrid2[rowIndex,i].ToString();
rr.WriteLine(str);
}
}
rr.Close();
0
Rejoignez-nous