DataAdapter#
DataAdapter - класс, представляющий сущность-посредник для доступа к данным.
DataAdapter можно использовать в качестве источника данных как для самой формы, так и для ее элементов. Для этого необходимо создать потомка DataAdapter как минимум с одним методом load, который возвращает Deferred-объект. Таким образом, можно возвращать как предопределенный набор данных, так и загруженные данные с помощью ajax-запросов.
Загрузка данных для формы#
Для использования в качестве источника данных формы необходимо, чтобы свойство класса формы binding возвращало потомка класса DataAdapter с методом load. В качестве возвращаемых данных может быть объект или массив. Загруженные данные преобразуются в observable и доступны через свойство data формы.
Приведём несколько способов загрузка данных. Возвращаемые данные:
В примере ниже реализация адаптера прямо в классе форы.
Пример. Описание в файле класса формы
В примере ниже, реализация адаптера вынесена в отдельный модуль.
Пример. Импорт из другого файла
Загрузка данных для Lookup#
Для использования в качестве источника данных контрола Lookup необходимо описать класс потомка DataAdapterа с методом load. В следующем примере в качестве источника данных контрола Lookup задается предопределенный набор данных.
Пример. Загрузка фиксированного значения
Задание источника данных lookup:
Если данные загружаются с помощью ajax-запросов, то метод load должен вторым параметром принимать флаг isAsync (этот флаг определяет как загружать данные: синхронно или асинхронно), который необходимо использовать в параметрах ajax-запроса (свойство async). Это свойство позволяет в эдиторе колонки грида устанавливать значение по коду до загрузки источника данных лукапа.