2017-08-11 6 views
1

Je suis en train de convertir datagridview en fichier texte. Donc, quand j'utilise ce code, j'obtiens cette sortie de texte. Ex.Comment ajouter du texte simple entre les colonnes dans la sortie de datagridview? C#

"Début du texte! Ce 170 est le numéro Ce 80 est le numéro Fin du texte!"

Ces numéros 170 et 80 sont générés à partir de datagridview.

Je veux obtenir cette sortie. Ex. "Début du texte! Ce 170 est le numéro Fin du texte!"

Donc je ne veux pas ajouter "This" et "is number" sur la deuxième colonne.

Désolé pour mon mauvais anglais si ce texte n'est pas compréhensible.

private void button3_Click(object sender, EventArgs e) 
    { 
     TextWriter writer = new StreamWriter(@"C:\Users\ESTIT09\Desktop\test.txt"); 
     for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) 
     { 
      writer.WriteLine("Start of the text!"); 
      for (int j = 0; j < dataGridView1.Columns.Count; j++) 
      { 
       writer.Write("This " + dataGridView1.Rows[i].Cells[j].Value.ToString() + " is number" + "\r\n"); 
      } 

      writer.WriteLine("End of the text!"); 
     } 
     writer.WriteLine("end sub"); 
     writer.Close(); 
    } 
+0

Préfixe, puis ['string.Join'] (https://stackoverflow.com/q/3575029/1997232) + tableau d'éléments, puis se terminant. – Sinatr

Répondre

0

Cela devrait fonctionner. Remplacez votre boucle for avec ce bloc.

for (int j = 0; j < dataGridView1.Columns.Count; j++) 
       { 
        if(j==0) //change the index (0 or 1)for what you are looking for 
        { 
         writer.Write("This " + dataGridView1.Rows[i].Cells[j].Value.ToString() + " is number" + "\r\n"); 
        } 
        else 
        { 
         writer.Write(dataGridView1.Rows[i].Cells[j].Value.ToString() + "\r\n");  
        } 
       }