Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Windows Forms
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 04.12.2020, 07:47   #1
anshnine
Пользователь
 
Регистрация: 15.10.2017
Сообщений: 31
По умолчанию Сохранение dataGridView в файл txt [C++ WinForms]

Здравствуйте. Есть квадратная матрица(2х2 3х3 и тд ). Заполняю ее числами и сохраняю при помощи следующего кода
Код:
private: System::Void сохранитьToolStripMenuItem_Click(System::Object^  sender, System::EventArgs^  e) {
 
cli::array<String^>^ lines = gcnew cli::array<String^>(dataGridView1->RowCount);
 
    cli::array<String^>^ values = gcnew cli::array<String^>(dataGridView1->ColumnCount);
 
    for (int i = 0; i < lines->Length; ++i) 
    {
        for (int j =0; j< values->Length; ++j)
            values[j] = (String^)dataGridView1->Rows[i]->Cells[j]->Value;
            lines[i] = String::Join(L" ", values);
    }
    
    IO::File::WriteAllLines("file.txt", lines, System::Text::Encoding::UTF8);
         }

В итоге получается , что одно число не сохраняется. Т.е если условно матрица
1 2
3 4

То в файле сохраняется только
1 2
3
При увелчичении размерности матрицы всегда пропадает какое то число , не обязательно последний элемент. Я уже перепробовал разные комбинации , но так и не нашел решение. Тут мне кажется работа со скобками элементарно не правильно выстроена у меня ) Заранее спасибо за помощь
anshnine вне форума Ответить с цитированием
Старый 04.12.2020, 08:03   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от anshnine Посмотреть сообщение
lines[i] = String::Join(L" ", values);
При сохранении values всегда будут равны последней строчке. Потому что пишете всегда в один и тот же список
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 04.12.2020, 08:53   #3
anshnine
Пользователь
 
Регистрация: 15.10.2017
Сообщений: 31
По умолчанию

Если честно не совсем в итоге понял как это можно исправить
anshnine вне форума Ответить с цитированием
Старый 04.12.2020, 12:14   #4
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

Цитата:
Сообщение от anshnine Посмотреть сообщение
Если честно не совсем в итоге понял как это можно исправить
Ну очевидно же. Каждый раз создавать новый список для значений строки
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 07.12.2020, 10:46   #5
anshnine
Пользователь
 
Регистрация: 15.10.2017
Сообщений: 31
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
Ну очевидно же. Каждый раз создавать новый список для значений строки
Получается , надо после того , как записал первую иттерацию в цикле , чистить список и во втором цикле уже заного в него новые элементы записывать ? Уже много вариаций подобных перепробовал , но все что-то близко и в тоже время далеко.При все при этом , смотрю по отладчику , и ни разу не добирался до последнего элемента матрицы..

Последний раз редактировалось anshnine; 07.12.2020 в 10:48.
anshnine вне форума Ответить с цитированием
Старый 05.04.2023, 13:04   #6
Splitly
Новичок
Джуниор
 
Регистрация: 05.04.2023
Сообщений: 1
По умолчанию

Ваш поток не будет записывать в файл ячейку из DataGridView, если на ней стоит курсор. Для компилятора эта ячейка не введена, он считает, что там nullptr)))

Попробуйте выделять различные ячейки и Вы поймете, что все действительно работает, так как оно работает))

Если все еще нужно и Вы не перешли на С#
Splitly вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
корректное сохранение ListView в txt файл xXxVasya Компоненты Delphi 18 22.03.2018 23:46
Сохранение dataGridView в файл men232 Windows Forms 8 21.05.2013 14:16
Сохранение текста в txt файл на UCOZe maksim1995 JavaScript, Ajax 8 12.02.2011 23:39
Сохранение списка файлов в .txt файл alexei-evil Общие вопросы C/C++ 3 04.08.2010 19:39
Сохранение из TeeChart Series в *.txt файл Artemij Общие вопросы C/C++ 0 29.08.2009 14:00