Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.72/18: Рейтинг темы: голосов - 18, средняя оценка - 4.72
 Аватар для MegaRoks
2 / 2 / 3
Регистрация: 25.12.2014
Сообщений: 258

Вывести элементы в DataGridView

17.12.2017, 20:10. Показов 3954. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Вывести элементы с ответа от сервера. Приходит ответ от сервера.

JSON
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
[
    {
    "users": [
        {
            "id_lib": "53",
            "name": "Никита",
            "surname": "Шишин",
            "group": "ПИН-151",
            "date_of_taking": "2016-10-08",
            "lib_card": "098-769",
            "name_book": "Операционные системы - Флоренсов 2009 г."
        },
        {
            "id_lib": "54",
            "name": "Владислав",
            "surname": "Павлюк",
            "group": "ИВТ-152",
            "date_of_taking": "2017-07-09",
            "lib_card": "777-777",
            "name_book": "Основы теории управления"
        },
        {
            "id_lib": "55",
            "name": "Виктор",
            "surname": "Юрченко",
            "group": "ПИ-151",
            "date_of_taking": "2017-01-01",
            "lib_card": "000-000",
            "name_book": "Как закрыть 2"
        }
    ]
}
]
И надо мне записать эти данные в DataGridView. Как это сделать?

Вот я пытаюсь сделать, в string json лежит пришедшие эти данные. Но пишет json не содержит определения для Count и не видит мои переменные id_lib, name и тд.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
private void DataGridView(string json)
{
    DataTable t = new DataTable();
    t.Columns.Add("ИД");
    t.Columns.Add("Имя");
    t.Columns.Add("Фамелия");
    t.Columns.Add("Группа");
    t.Columns.Add("Дата выдачи");
    t.Columns.Add("Номер билета");
    t.Columns.Add("Название книги");
 
    for (int i = 0; json.Count > i; i++)
    {
        t.Rows.Add(new object[] { json.id_lib[i], json.name[i], json.surname[i], json.group[i], json.date_of_taking[i], json.lib_card[i], json.name_book[i] });
        dataGridView1.DataSource = t;
    }
}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
17.12.2017, 20:10
Ответы с готовыми решениями:

Вывести элементы в DataGridView
Вывести элементы с ответа от сервера. Приходит ответ от сервера. И надо мне записать эти данные в DataGridView. Как это сделать?...

В матрице найти наименьший элемент в каждом столбце, вывести матрицу и найденные элементы в DataGridView
Помогите найти ошибку, пожалуйста? Матрица меняется, а результат нет(( Дана матрица F(7,7). Найти наименьший элемент а каждом...

Как заменить элементы в DataGridView
Как сделать чтобы при тикании таймера элементы, к примеру "1", заменялись на "2" в datagridview? Вот так не работает: for (int j = 0; j...

1
 Аватар для ViterAlex
8952 / 4864 / 1886
Регистрация: 11.02.2013
Сообщений: 10,246
17.12.2017, 21:02
ты как-то странно пытаешься обратиться к строке как к json-объекту. Это не js, тут такое не проходит. Для работы с json используется Newtonsoft.Json, который можно установить через NuGet. Для объекта создай классы, например с помощью http://jsonutils.com/. Получится такое:
Классы
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
    public class User
    {
 
        [JsonProperty("id_lib")]
        [DisplayName("ИД")]
        public string IdLib { get; set; }
 
        [JsonProperty("name")]
        [DisplayName("Имя")]
        public string Name { get; set; }
 
        [JsonProperty("surname")]
        [DisplayName("Фамилия")]
        public string Surname { get; set; }
 
        [JsonProperty("group")]
        [DisplayName("Группа")]
        public string Group { get; set; }
 
        [JsonProperty("date_of_taking")]
        [DisplayName("Дата выдачи")]
        public string DateOfTaking { get; set; }
 
        [JsonProperty("lib_card")]
        [DisplayName("Номер билета")]
        public string LibCard { get; set; }
 
        [JsonProperty("name_book")]
        [DisplayName("Название книги")]
        public string NameBook { get; set; }
    }
 
    public class LibUsers
    {
 
        [JsonProperty("users")]
        public IList<User> Users { get; set; }
    }

Теперь можно загружать:
C#
1
2
3
4
5
6
7
8
9
private void FillDgv(string json)
{
    var jobj = JsonConvert.DeserializeObject<LibUsers>(json);
    if (jobj != null)
    {
        dataGridView1.AutoGenerateColumns = true;
        dataGridView1.DataSource = jobj.Users;
    }
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.12.2017, 21:02
Помогаю со студенческими работами здесь

Сравнить элементы datagridview и списка
Здравствуйте, помогите разобраться, есть dataGridView1 в нем последовательности такого вида: 2 1 или 1 1 1 И список...

Вывести вначале элементы масссива с четными номерами (по возрастанию номеров), а затем — элементы с нечетными
Помогите пожалуйста реализовать программу в WF Дан массив A размера N. Вывести вначале его элементы с четными номерами (в порядке...

Записать в массив элементы столбца DataGridView
Здравствуйте уважаемые форумцы! Такой вопрос: есть datagridview с заполненными данными(ячейками), экспортированных с excel-файла. Нужно,...

Как использовать добавленные в DataGridView элементы
Добавляю туда элементы. Как их дальше использовать? Подскажите плиз на этом примере stateMachine = new StateMachine&lt;States,...

Как подсчитать максимальные и минимальные элементы в DataGridView
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой
Programma_Boinc 10.04.2026
Видеокарта простаивает ночами? Вот 4 проекта, которые загрузят её наукой Если на Windows стоит дискретная NVIDIA или AMD — можно отдать её вычислительную мощность реальным исследованиям. . . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru