Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DataGridView сохранение данных в файл 
V
    Опции темы
gta4kv
Дата 14.2.2008, 15:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: нет
Всего: 91



Всем привет! 

Собственно сабж, c# да и в .net новичок.

Есть DataGridView, с несколькими полями.

Надо сохранить данные из них в файл. ( txt/xml, неважно вообщем, и желательно не в базу )
А при загрузке программы все поля заполнить.

 smile 

Это сообщение отредактировал(а) gta4kv - 14.2.2008, 15:08
PM MAIL   Вверх
tol05
Дата 14.2.2008, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

Репутация: 36
Всего: 170



при загрузке программы создаешь любой объект, поддерживающий
Цитата

The DataGridView class supports the standard Windows Forms data-binding model. This means the data source can be of any type that implements one of the following interfaces:

The IList interface, including one-dimensional arrays.

The IListSource interface, such as the DataTable and DataSet classes.

The IBindingList interface, such as the BindingList class.

The IBindingListView interface, such as the BindingSource class.


и биндишь его к DataGridView.DataSource 

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

P.S. здесь можно почитать что об этом думают другие  smile 


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
HellMasterHaiL
Дата 14.2.2008, 17:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 9.8.2006
Где: Россия, МО, г. Юб илейный

Репутация: 1
Всего: 1



если есть датасет, то не проще 
Код

DataSet.WriteXML ("путь к файлу")
?
PM MAIL ICQ   Вверх
gta4kv
Дата 14.2.2008, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: нет
Всего: 91



tol05, эх, щас буду пробовать.


HellMasterHaiL, он такого не знает!

Добавлено через 3 минуты и 24 секунды
HellMasterHaiL, ах дошло, добавил датаСет, но как им пользоваться?

Код

DataSet.WriteXML ("test.xml");


записал:
Код

<?xml version="1.0" standalone="yes"?>
<NewDataSet />


Добавлено через 8 минут и 43 секунды
Привязал dataSet к DataGridView, делаю writeXml записывает такую же фигню.. 
PM MAIL   Вверх
Legolas
Дата 14.2.2008, 22:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 229
Регистрация: 14.2.2007

Репутация: 3
Всего: 5



пиши просто каждую строку в txt файл, разбивая к примеру, звездочкой. а при загрузке просто считывай в массив, и собственно, заполняй таблицу. Всё через обычные StreamReader, StreamWriter.
PM MAIL   Вверх
HellMasterHaiL
Дата 15.2.2008, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 9.8.2006
Где: Россия, МО, г. Юб илейный

Репутация: 1
Всего: 1



Цитата(gta4kv @ 14.2.2008,  19:56)
записал:
Код

<?xml version="1.0" standalone="yes"?>
<NewDataSet />


Добавлено @ 20:05
Привязал dataSet к DataGridView, делаю writeXml записывает такую же фигню..

походу у тебя не заполняется сам датасет... ты как записываешь данные в грид? ручками?
PM MAIL ICQ   Вверх
gta4kv
Дата 15.2.2008, 13:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: нет
Всего: 91



HellMasterHaiL, ну да.. а как надо?

Йа типа сделал просто кнопку save и прописал в нее ds.WriteXml("11111.xml");
PM MAIL   Вверх
HellMasterHaiL
Дата 15.2.2008, 14:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 9.8.2006
Где: Россия, МО, г. Юб илейный

Репутация: 1
Всего: 1



для теста выведи месседж
messagebox.show (ds.имя таблици.rows(0).item(0))

по логике, если заполняется грид, то должен и заполняться сам датасет, но я всегда заполняю датасет, к которому привязан грид...
PM MAIL ICQ   Вверх
gta4kv
Дата 17.2.2008, 13:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: нет
Всего: 91



[удалите пожалуйста]

Это сообщение отредактировал(а) gta4kv - 17.2.2008, 17:11
PM MAIL   Вверх
gta4kv
Дата 17.2.2008, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: нет
Всего: 91



[удалите пожалуйста]

Это сообщение отредактировал(а) gta4kv - 17.2.2008, 17:10
PM MAIL   Вверх
gta4kv
Дата 17.2.2008, 17:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


Профиль
Группа: Завсегдатай
Сообщений: 1868
Регистрация: 25.7.2006

Репутация: нет
Всего: 91



Сделал как сказал Legolas через файл. Все ловите плюсы.
PM MAIL   Вверх
EddieIrvine
Дата 15.3.2008, 00:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 14.3.2008

Репутация: нет
Всего: нет



Собственно, потребовалась помощь, и поисковик вывел меня сюда.

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

Вот как выглядит процедура сейчас:
Код

       private void SaveRowButton_Click(object sender, EventArgs e)
        {
            try
            {
                for (int i = 0; i < MyArrayList_OfRecords.MyRec.Count; i++)
                {
                    storageServiceDataSet.Единицы_хранения.AddЕдиницы_храненияRow(Convert.ToInt32(MyArrayList_OfRecords.MyRec[i]), Convert.ToDateTime(MyArrayList_OfRecords.MyRecD(i)), Convert.ToString(MyArrayList_OfRecords.MyRecA[i]), Convert.ToString(MyArrayList_OfRecords.MyRecP[i]), Convert.ToString(MyArrayList_OfRecords.MyRecM[i]) );
                    storageServiceDataSet.AcceptChanges();
                }
                storageServiceDataSet.AcceptChanges();
                dataGridViewTable.DataSource = this.storageServiceDataSet.Единицы_хранения;
                dataGridViewTable.ReadOnly = true;
                storageServiceDataSet.WriteXml(@"..\..\data.xml");
            }
            catch(Exception exc)
            {
                MessageBox.Show(exc.ToString());
            }
        }


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Partizan
PashaPash

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | .NET для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0527 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.