powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Загрузка данных в datagridview C#
6 сообщений из 6, страница 1 из 1
Загрузка данных в datagridview C#
    #39748790
SAS2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пишу код для загрузки из xml файла в датагрид
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
try
            {
                int index = -1;
               // dataGridView1.Rows.Clear();
               
                FileStream fs = new FileStream("data.xml", FileMode.Open);
                XmlTextReader xmlIn = new XmlTextReader(fs);
                while (xmlIn.Read())
                {
                    if (xmlIn.NodeType == XmlNodeType.EndElement) { continue; }
                    if (xmlIn.Name == "data")
                    {
                        dataGridView1.Rows.Add();
                        index++;
                    }
                    if (xmlIn.Name == "base")
                    {
                        dataGridView1.Rows[index].Cells[0].Value = xmlIn.GetAttribute("Value");
                    }
                    if (xmlIn.Name == "typepacket")
                    {
                        dataGridView1.Rows[index].Cells[1].Value = xmlIn.GetAttribute("Value");
                    }
                    if (xmlIn.Name == "namepack")
                    {
                        dataGridView1.Rows[index].Cells[2].Value = xmlIn.GetAttribute("Value");
                    }
                    if (xmlIn.Name == "datapack")
                    {
                        dataGridView1.Rows[index].Cells[3].Value = xmlIn.GetAttribute("Value");
                    }
                    if (xmlIn.Name == "deptpack")
                    {
                        dataGridView1.Rows[index].Cells[4].Value = xmlIn.GetAttribute("Value");
                    }
                    if (xmlIn.Name == "countpack")
                    {
                        dataGridView1.Rows[index].Cells[5].Value = xmlIn.GetAttribute("Value");
                    }
                    if (xmlIn.Name == "sizepack")
                    {
                        dataGridView1.Rows[index].Cells[6].Value = xmlIn.GetAttribute("Value");
                    }
                    if (xmlIn.Name == "sendpack")
                    {
                        dataGridView1.Rows[index].Cells[7].Value = xmlIn.GetAttribute("Value");
                    }
                    if (xmlIn.Name == "isploit")
                    {
                        dataGridView1.Rows[index].Cells[8].Value = xmlIn.GetAttribute("Value");
                    }
                    if (xmlIn.Name == "numpzap")
                    {
                        dataGridView1.Rows[index].Cells[9].Value = xmlIn.GetAttribute("Value");
                    }
                    if (xmlIn.Name == "isplzap")
                    {
                        dataGridView1.Rows[index].Cells[10].Value = xmlIn.GetAttribute("Value");
                    }
                    if (xmlIn.Name == "datazap")
                    {
                        dataGridView1.Rows[index].Cells[11].Value = xmlIn.GetAttribute("Value");
                    }
                    if (xmlIn.Name == "prim")
                    {
                        dataGridView1.Rows[index].Cells[12].Value = xmlIn.GetAttribute("Value");
                    }
                }
                xmlIn.Close();
                fs.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }



После запуска получаю ошибку
В экземпляре объекта не задана ссылка на объект

далее программа запускается и данные загружаются в сетку

Вопрос как исправить ошибку?
...
Рейтинг: 0 / 0
Загрузка данных в datagridview C#
    #39748791
vb_sub
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAS2014,
убери try-catch, посмотри на какой строке ошибка появляется и отдебажь.
...
Рейтинг: 0 / 0
Загрузка данных в datagridview C#
    #39749022
256k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SAS2014Пишу код для загрузки из xml файла в датагрид


После запуска получаю ошибку
В экземпляре объекта не задана ссылка на объект

далее программа запускается и данные загружаются в сетку

Вопрос как исправить ошибку?


а не проще ли загрузить дататабле и ее потом пристегнуть к гриду, чем лепить такой жосткий одноколесный велосипед?
...
Рейтинг: 0 / 0
Загрузка данных в datagridview C#
    #39749063
Roman Mejtes
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у вас на каждой итерации, каждое условие совершает проверку на значение, при чем это сравнение строк.
делайте через
Код: c#
1.
if() {} else if() {} else if ()


или через switch...case на худой конец.

А еще лучше используйте XML сериализацию
...
Рейтинг: 0 / 0
Загрузка данных в datagridview C#
    #39749136
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Нормальное решение этой задачи - загрузка XML в DataSet и отображение DataTable из него в DataGridView

Теоретически я знаю, что DataGridView может не иметь источника данных и можно в него вносить данные напрямую, но в этом случае для DataGridView рекомендуется назначить режим VirtualMode. Никогда практически это не использовал. Даже не понимаю, когда это может понадобится.
...
Рейтинг: 0 / 0
Загрузка данных в datagridview C#
    #39749204
SAS2014
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Roman Mejtesу вас на каждой итерации, каждое условие совершает проверку на значение, при чем это сравнение строк.
делайте через
Код: c#
1.
if() {} else if() {} else if ()


или через switch...case на худой конец.

А еще лучше используйте XML сериализацию

спасибо за ответ
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Загрузка данных в datagridview C#
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]