Отображение данных в области компонента DataGrid
Формулировка задачи
Отобразить данные (из базы данных) в области компонента DataGrid. Например, в таблице вы можете отобразить список товаров.
Предварительные требования
В разрабатываемом проекте создан класс с атрибутами Name
, Amount
. Проект опубликован. В базу данных добавлены данные.
Рекомендуемое решение задачи
Рекомендуемый подход к решению описанной задачи включает следующие шаги:
-
Добавление компонента DataGrid на экранную форму.
Откройте файл описания экранной формы, например,
index.mdcontainer
и добавьте компонент DataGrid. -
Создание действия типа GraphQL.
В то время, когда файл описания экранной формы с добавленным компонентом DataGrid открыт, создайте действие, например, GetGoods, типа GraphQL. Это действие получает список сущностей для отображения в области компонента DataGrid. В конструкторе GraphQL сконструируйте запрос, который возвращает записи с указанными полями таблицы базы данных и обще е количество записей. Текст запроса представлен в следующем блоке кода:
query{
griddsexample_good {
items {
Name,
Amount,
Id
}
totalCount
}
} -
Создание источника данных для компонента DataGrid.
Создайте источник данных, например, DS_Goods, в параметрах которого укажите созданное на предыдущем шаге действие GetGoods.
-
Настройка компонента DataGrid.
- В то время, когда компонент DataGrid выбран на экранной форме, над компонентом нажмите кнопку Настройка.
- В окне Настройка DataGrid нажмите кнопку справа от поля Источник данных и в окне Переменные выберите значение
DS_Goods.load.data.griddsexample_good.items
для передачи компоненту DataGrid массива значений, полученного в результате запроса. - Нажмите кнопку справа от поля Количество элементов в источнике данных и выберите значение
DS_goods.load.data.griddsexample_good.totalCount
для передачи значения общего количества записей с целью постраничного разбиения массива записей при отображении в DataGrid. В окне настроек DataGrid по умолчанию постраничное разбиение включено. - Сохраните настройки компонента DataGrid.
Вместо выполнения описанных выше шагов вы можете импортировать проект GridDSExample, который демонстрирует отображение данных в компоненте DataGrid.