Как написать текстовый файл из значений ячейки элемента управления .NET DataGridView? - PullRequest
3 голосов
/ 10 декабря 2011

У меня есть следующий код, который должен перебрать все строки в моем DataGridView и записать все значения их ячеек в текстовый файл.
Однако он выводит все строки, но только первую ячейку каждой, а не остальные три ячейки.

string file_name = "C:\\test1.txt";

var objWriter = new System.IO.StreamWriter(file_name);

int count = dgv.Rows.Count;

for (int row = 0; row < count; row++)
{
    objWriter.WriteLine(dgv.Rows[row].Cells[0].Value.ToString());
}

objWriter.Close();

Ответы [ 2 ]

5 голосов
/ 10 декабря 2011
for (int row = 0; row < count; row++)
    {
        int colCount = dgv.Rows[row].Cells.Count; 
        for ( int col = 0; col < colCount; col++)  
        {
            objWriter.WriteLine(dgv.Rows[row].Cells[col].Value.ToString());

        }
        // record seperator could be written here.
    }

Хотя было бы чище, если бы вы использовали цикл foreach.

0 голосов
/ 24 февраля 2015
TextWriter sw = new StreamWriter(@"D:\\file11.txt");

        int rowcount = dataGridViewX1.Rows.Count;
        for (int i = 0; i < rowcount - 1; i++)
        {

            sw.WriteLine(dataGridViewX1.Rows[i].Cells[0].Value.ToString());
        }
        sw.Close();


        MessageBox.Show("Text file was created." );
...