Ext.ux.data.reader.SafeJson — безопасный JSON

////Ext.ux.data.reader.SafeJson — безопасный JSON

Иногда исходные данные для хранилища данных Ext.data.Store могут не соответствовать в точности модели данных Ext.data.Model, что приводит к невозможности их отображения в дальнейшем.

Например, если у нас есть такие исходные данные в формате JSON, то проблем со стороны Extjs нет:

т.к. все данные соответствуют описанной модели:

Но как только, хотябы в одной из записей отсутствует поле учавствующее в маппинге (карта соответствий между данными и полями), то все данные игнорируются:

Что хорошо видно на примере.

Загружаются: http://jsfiddle.net/elganz/3hwp3/5/

Не загружаются: http://jsfiddle.net/elganz/3hwp3/6/

Решение

Для решения таких проблем можно использовать улучшенный обработчик данных в формате Json. Для его применения достаточно просто в proxy хранилища заменить тип reader c json на safejson.

Описание решения на stackoverflow: http://stackoverflow.com/questions/11460270/how-to-ignore-null-fields-in-extjs-data-models/12897991#12897991

Работающий пример: http://jsfiddle.net/elganz/3hwp3/7/

Раcширенный пример: http://jsfiddle.net/elganz/HJGPt/

By | 2017-10-30T16:59:12+00:00 25.06.2013|Categories: ExtJs|Нет комментариев