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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.03.2016, 22:46   #1
wersat
 
Регистрация: 27.11.2011
Сообщений: 3
По умолчанию Сохранение таблицы

Здравствуйте. Помогите разобраться с задачей.
Мне необходимо при открытии ока загрузить таблицу в datagridview из заранее подготовленного файла. Количество столбцов - константа. Количество строк может меняться.
При нажатии кнопки сохранить, таблица сохраняется в D:\test\1.xml Вообще мне все равно в какой формат сохранять, но все советуют работать с xml
Здесь мне подсказали код, но я не могу в нем разобраться.

Код:
using System;
using System.Collections.Generic;
using System.IO;
using System.Windows.Forms;
using System.Xml.Serialization;
 
namespace WindowsFormsApplication5
{
    public partial class Form1 : Form
    {
        public List<Class1> C;
        private const string Fn = @"D:\test\1.xml";
 
        public Form1()
        {
            InitializeComponent();
            var xml = new XmlSerializer(typeof(List<Class1>));
            using (var fs = new FileStream(Fn, FileMode.Open))
                C = xml.Deserialize(fs) as List<Class1>;
            dataGridView1.DataSource = C;
        }
 
        private void button2_Click(object sender, EventArgs e)
        {
            var xml = new XmlSerializer(typeof (List<Class1>));
            using (var fs = new FileStream(Fn, FileMode.Create))
                xml.Serialize(fs, C);
        }
    }
}

и непосредственно сам класс

Код:
namespace WindowsFormsApplication5
{
    public class Class1
    {
        public string A { get; set; }
        public double B { get; set; }
    }
Можно ли в Class1 запихнуть заполненную datagridview или нужно программно описывать таблицу?
При открытии - таблица создается по описанному классу, а не грузится из файла.
При сохранении таблицы создается xml файл без данных которые я внес в таблицу. Вот все содержимое xml файла.

Вот это все содержимое xml файла, сохраненной таблицы
Код HTML:
<?xml version="1.0"?>
<ArrayOfClass1 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xsi:nil="true" />
wersat вне форума Ответить с цитированием
Старый 24.03.2016, 22:56   #2
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Зачем вам куда-то пихать DataGridView? Это вряд ли будет удобно в любом случае, лучше нормально описать класс для данных и читать/сохранять эти объекты.
Цитата:
Вот это все содержимое xml файла
Список С у вас пустой же наверно. По-моему для синхронизации данных с DGW недостаточно просто в DataSource List присвоить, надо как-то по-другому. BindingSource может быть нужен и/или BindingList https://msdn.microsoft.com/en-us/lib...vs.110%29.aspx.

И вроде [Serializable] надо добавить к классу.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 24.03.2016 в 23:25.
Alex11223 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сохранение таблицы в файл Михаил Юрьевич БД в Delphi 0 23.02.2013 18:44
Сохранение таблицы из текстового файла S@fer БД в Delphi 14 05.05.2010 10:04
Создание, заполнение и сохранение таблицы в C# fractal Общие вопросы .NET 6 22.02.2009 03:21
сохранение таблицы без макросов Юнлинг Microsoft Office Excel 5 27.11.2008 13:26
Сохранение таблицы set БД в Delphi 6 02.05.2008 05:20