none
Сохранение нескольких datagrid в один файл RRS feed

  • Вопрос

  • Здравствуйте. Есть ли возможность сохранять информацию из нескольких datagrid в один файл так, чтобы можно было при последующем запуске программы загрузить данные по тем же самым datagrid?(Просто хранить 10+ xml файлов в папке как то не очень удобно)
    24 октября 2017 г. 18:30

Ответы

  • DataSet это база даных которая размещена в памяти. При использовании небольшого количества данных (ну где то до гигабайта) работает неплохо, может использовать данные из многих источников в том числе XML.

    В настоящее время DataSet несколько устарел, но если вы не хотите использовать базу данных то является неплохим вариантом. Для ознакомления вам следует прочитать книжку на 1000+ страниц по ADO.Net.

    Более современной альтернативой будет использование какой либо базы данных совместно с Entity Framework или чем то похожим.

    Пример использования DataSet совместно с гридом тут:

    https://www.codeproject.com/Articles/30905/WPF-DataGrid-Practical-Examples

    В примере используется загрузка из SQL, вам надо поменять это на загрузку/сохранение в XML.


    This posting is provided "AS IS" with no warranties, and confers no rights.

    25 октября 2017 г. 18:30
    Модератор
  • "Для ознакомления вам следует прочитать книжку на 1000+ страниц по ADO.Net."

    Я надеюсь это ирония... Во первых, для того о чем спрашивает автор (работа с XML-файлами) ADO.NET совсем не нужен, а во вторых - 1000 страниц? В столько можно весь c# уместить я думаю.

    По теме: можно же просто сериализацией это провернуть? Один большой объект сериализовывать в файл, а grid'ы привязывать к отдельным коллекциям внутри него

    25 октября 2017 г. 19:11

Все ответы

  • Прежде всего, в DataGrid нет данных. Дело в том что DataGrid лишь отображают (и меняет) данные из привязанного источника, вот и все.

    Это значит что сохранять (загружать) надо данные из (в) источника который привязан к DataGrid. Например если это DataSet, то он может содержать иметь несколько DataTable каждая из которых может быть привязана к разным DataGrid. DataSet можно сохранить/загрузить из одного XML файла.

    В общем все сводится к источнику данных который вы используйте, а DataGrid отношения к делу не имеет. Какой у вас источник данных?


    This posting is provided "AS IS" with no warranties, and confers no rights.

    24 октября 2017 г. 20:44
    Модератор
  • Ох и многого я не знаю...Делал как здесь: https://metanit.com/sharp/wpf/5.14.php . Можете поподробней объяснить что за DataSet где его взять и как его использовать?
    25 октября 2017 г. 16:38
  • DataSet это база даных которая размещена в памяти. При использовании небольшого количества данных (ну где то до гигабайта) работает неплохо, может использовать данные из многих источников в том числе XML.

    В настоящее время DataSet несколько устарел, но если вы не хотите использовать базу данных то является неплохим вариантом. Для ознакомления вам следует прочитать книжку на 1000+ страниц по ADO.Net.

    Более современной альтернативой будет использование какой либо базы данных совместно с Entity Framework или чем то похожим.

    Пример использования DataSet совместно с гридом тут:

    https://www.codeproject.com/Articles/30905/WPF-DataGrid-Practical-Examples

    В примере используется загрузка из SQL, вам надо поменять это на загрузку/сохранение в XML.


    This posting is provided "AS IS" with no warranties, and confers no rights.

    25 октября 2017 г. 18:30
    Модератор
  • "Для ознакомления вам следует прочитать книжку на 1000+ страниц по ADO.Net."

    Я надеюсь это ирония... Во первых, для того о чем спрашивает автор (работа с XML-файлами) ADO.NET совсем не нужен, а во вторых - 1000 страниц? В столько можно весь c# уместить я думаю.

    По теме: можно же просто сериализацией это провернуть? Один большой объект сериализовывать в файл, а grid'ы привязывать к отдельным коллекциям внутри него

    25 октября 2017 г. 19:11
  • "Для ознакомления вам следует прочитать книжку на 1000+ страниц по ADO.Net."

    Я надеюсь это ирония... Во первых, для того о чем спрашивает автор (работа с XML-файлами) ADO.NET совсем не нужен, а во вторых - 1000 страниц? В столько можно весь c# уместить я думаю.

    По теме: можно же просто сериализацией это провернуть? Один большой объект сериализовывать в файл, а grid'ы привязывать к отдельным коллекциям внутри него

    Ничуть. Такие книжки имеют много кода и картинок, 1000 страниц довольно типичный размер. Что до C# то размер может быть от десятка до десятка тысяч страниц в зависимости от того что там включено. 

    Можно и сериализацией провернить, только будет не так просто и придется много чего самому делать. Собственно, возможно именно так и сделано.


    This posting is provided "AS IS" with no warranties, and confers no rights.

    25 октября 2017 г. 20:23
    Модератор