Публикация

Получение через esq значений колонки помеченной как Displayed value

Вопрос

Делаю ESQ с rootSchemaName: "X". Как мне узнать, какое свойство этого объекта является его текстовым представлением (значение колонки, указанной в скриншоте)?

Изображение удалено.На некоторые запросы, написанные не мной приходит ответ. В ответе объекты и у объектов есть свойство displayValue, вот мне нужно такое же.

Пример кода

var select = Ext.create("Terrasoft.EntitySchemaQuery", {
    rootSchemaName: dimensionItem.get("SysSchemaName")
});
 
select.getEntityCollection(function(response) {
    if (response.success) {
        var collection = response.collection;
        if (collection && collection.getCount() > 0) {
 
        }
    }
})

Ответ

Для получения через esq значений колонки помеченной в объекте как Displayed name, Вам необходимо воспользоваться методом esq esq.addMacrosColumn().

Пример кода:

var esq = this.Ext.create("Terrasoft.EntitySchemaQuery", {
    rootSchemaName: 'UsrTestObj'
});
esq.addMacrosColumn(Terrasoft.QueryMacrosType.PRIMARY_DISPLAY_COLUMN, "displayValue");
esq.addMacrosColumn(Terrasoft.QueryMacrosType.PRIMARY_COLUMN, "value");
esq.getEntityCollection(function(result) {
    if (result.success) {
        debugger;
    }
}, this);

В результате получаем коллекцию из значений колонок Id и колонки помеченной как Displayed value из таблицы UsrTestObj.

Нравится

Поделиться

0 комментариев
Показать все комментарии