PedroAzevedo1234 Ответов: 2

Как записать в текстовый файл то, что находится в datagrindview


Я хотел бы знать, как я могу написать в текстовом фиксаторе данные, которые записаны в моем datagrindview.

Это код, который я использую для записи в моем datagrindview:
string connString = @"Data source = teste1234 ; Database=1234 ; User Id=test ; Password=test123";

            using (SqlConnection sqlConn = new SqlConnection(connString))
            {
                string sqlQuery = @"SELECT * from Zone";
                SqlCommand cmd = new SqlCommand(sqlQuery, sqlConn);
                SqlDataAdapter da = new SqlDataAdapter(cmd);
                DataTable table = new DataTable();
                da.Fill(table);
                dataGridView1.DataSource = new BindingSource(table, null);
            }


Что я уже пробовал:

Я попробовал это сделать, но ничего не вышло.

public void WriteToTextFile (DataGridView dgv)
        {
            string file_name = "D:\\test1.txt";

        System.IO.StreamWriter objWriter;

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

        int count = dgv.Rows.Count;
        for (int row = 0; row < count-1; row++)
        {
            int colCount = dgv.Rows[row].Cells.Count; 

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

        }
        objWriter.Close();
        }

2 Ответов

Рейтинг:
2

OriginalGriff

"Это не работает" - это не полезное сообщение об ошибке, оно не говорит нам ничего, чего мы не знаем, а именно, что у вас есть проблема некоторого описания...
Пытаясь ваш код работает здесь, я получаю файл, полный данных из моего DataGridView. Таким образом, проблема заключается либо в данных в вашем DGV, либо в проблеме с файлом или путем, который вы пытаетесь записать, - ни к одному из них у нас нет доступа.

Так что все будет зависеть от вас.
Поместите точку останова в первую строку функции и запустите код через отладчик. Затем посмотрите на свой код и на свои данные и определите, что должно произойти вручную. Затем по одному шагу в каждой строке проверяйте, что именно то, что вы ожидали, произошло. Когда это не так, тогда у вас есть проблема, и вы можете вернуться назад (или запустить ее снова и посмотреть более внимательно), чтобы выяснить, почему. Используйте полученное сообщение об ошибке (если таковое имеется) в качестве руководства, чтобы "сузить круг" возможных проблем.

Извините, но мы не можем сделать это за вас-вам пора освоить новый (и очень, очень полезный) навык: отладку!


Рейтинг:
1

RickZeeland

Ваш WriteToTextFile() метод работает, в нем нет ничего плохого !
Так что, должно быть, что-то еще идет не так, вы пробовали отлаживать ?