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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 07.02.2012, 02:24   #1
men232
Пользователь
 
Регистрация: 11.05.2011
Сообщений: 59
По умолчанию Сохранение dataGridView в файл

Здарова. Помогите решить проблему, нужно содержания dataGridView сохранить в файл, и потом подгружать. Не важно какой, пойдёт xml иди cvs. Нужен только сам функционал!

Облазил форум, нашел подобную тему без ответа. Google тоже результата не дал! Надеюсь на ваш опыт!
men232 вне форума Ответить с цитированием
Старый 07.02.2012, 16:47   #2
Axrik
Форумчанин
 
Аватар для Axrik
 
Регистрация: 17.12.2011
Сообщений: 111
По умолчанию

Возможно так:

...
FILE *F; // FILE - тип переменной. *F - файловая переменная.
F = fopen("[имя файла в который записываешь].[расширение]","a");
fprintf(F,"тут содержание dataGridView");
...



//"a" - окрыть файл для чтения и записи в конец файла. Файл должен существовать.
// можно использовать другие символы (r,r+,w,w+ и битовая (b) и текстовая(t) формы) например "a+t" - открыть текст для записи и чтения в текстовой форме, файл должен существовать. (это можно найти в нете)

Последний раз редактировалось Axrik; 07.02.2012 в 16:50.
Axrik вне форума Ответить с цитированием
Старый 07.02.2012, 17:59   #3
men232
Пользователь
 
Регистрация: 11.05.2011
Сообщений: 59
По умолчанию

Отвечу на свой вопрос сам:
Код:
/*Добавление Колонны*/
DataTable^ MyTable = gcnew DataTable();
MyTable->Columns->Add(gcnew DataColumn("File",Type::GetType("System.String")));
MyTable->Columns->Add(gcnew DataColumn("Hash",Type::GetType("System.String")));

/*Связать таблицу с dataGridView*/
dataGridView1->DataSource = MyTable; // Сама связь
dataGridView1->Columns[0]->AutoSizeMode = DataGridViewAutoSizeColumnMode::Fill; // Это украшение(авто размер)
dataGridView1->Columns[1]->AutoSizeMode = DataGridViewAutoSizeColumnMode::Fill; // Это украшение(авто размер)

/*Сохраняем в xml*/
DataSet^ DS = gcnew DataSet();
DS->Tables->Add(MyTable);
DS->WriteXml("C:\\patch_list.xml");

/*Загружаем из файла*/
DataSet^ DS = gcnew DataSet();
try
{
	DS->ReadXml(C:\\patch_list.xml);
	dataGridView1->DataSource = DS->Tables[0];
	dataGridView1->Refresh();
}
catch(System::Exception^ e)
{
	MessageBox::Show("Ошибка чтение xml");
}
men232 вне форума Ответить с цитированием
Старый 07.02.2012, 19:16   #4
Axrik
Форумчанин
 
Аватар для Axrik
 
Регистрация: 17.12.2011
Сообщений: 111
По умолчанию

Цитата:
Сообщение от men232 Посмотреть сообщение
Отвечу на свой вопрос сам
Это первое что нужно пытаться делать перед тем как его задавать
Axrik вне форума Ответить с цитированием
Старый 07.02.2012, 19:57   #5
men232
Пользователь
 
Регистрация: 11.05.2011
Сообщений: 59
По умолчанию

Сейчас такая проблема, нужно передать изменения dataGridView в DataTable. Кто знает как?
men232 вне форума Ответить с цитированием
Старый 07.02.2012, 22:05   #6
men232
Пользователь
 
Регистрация: 11.05.2011
Сообщений: 59
По умолчанию

Продолжу свою традицию
Код:
/*Запись в файл*/
DS->Tables->Clear();
MyTable = (DataTable^)dataGridView1->DataSource; 
DS->Tables->Add(MyTable);
DS->WriteXml("C:\\patch_list.xml");

/*Чтение из файла*/
try
{
	DS->Tables->Clear();
	DS->ReadXml("C:\\patch_list.xml");
	dataGridView1->DataSource = DS->Tables[0];
	//dataGridView1->Refresh();
}
catch(System::Exception^ e)
{
	MessageBox::Show("XML data read error");
}
P.S Немного подправил код, всё дело было в MyTable = (DataTable^)dataGridView1->DataSource;
men232 вне форума Ответить с цитированием
Старый 03.06.2012, 18:41   #7
butikul
Новичок
Джуниор
 
Регистрация: 03.06.2012
Сообщений: 1
По умолчанию

Дружище, хороший код, но у меня в итоге сохраняет пустой файл вот он:
<?xml version="1.0" standalone="yes"?>
<NewDataSet />
вот код, помоги если сможешь, несколько дней мучаюсь уже=(

private: System::Void сохранитьToolStripMenuItem_Click(Sy stem::Object^ sender, System::EventArgs^ e) {
DataTable^ MyTable = gcnew DataTable();
dataGridView1->DataSource = MyTable;
MyTable = (DataTable^)dataGridView1->DataSource;
dataSet1->Tables->Clear();
dataSet1->Tables->Add(MyTable);
dataSet1->WriteXml("D:\\list.xml", System::Data::XmlWriteMode::IgnoreS chema);
}
butikul вне форума Ответить с цитированием
Старый 21.05.2013, 14:06   #8
Saha2002
Новичок
Джуниор
 
Регистрация: 21.05.2013
Сообщений: 1
По умолчанию

как сохранить в языке программирования vb
Saha2002 вне форума Ответить с цитированием
Старый 21.05.2013, 14:16   #9
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,022
По умолчанию

Саша, ты с уралмаша?
eval вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
DataGridView в файл. KuckaMAXHATKA Windows Forms 0 30.05.2011 14:17
сохранение в файл Alboy Microsoft Office Excel 8 06.03.2011 12:49
Сохранение в dataGridView Cpluser Общие вопросы .NET 10 16.11.2009 11:46
Сохранение в файл Македонский Общие вопросы Delphi 4 05.09.2007 15:04
Сохранение в файл *.*С Noor Общие вопросы C/C++ 6 08.01.2007 22:44