Вопрос

Ext.create("Terrasoft.EntitySchemaQuery"

Здравствуйте коллеги 

как мне  отобразить в *Section резултата запроса из функции

getFields
define('UsrEshDublSection', ['ext-base', 'terrasoft', 'sandbox', 'UsrEshDubl',
        'UsrEshDublSectionStructure', 'UsrEshDublSectionResources'],
    function(Ext, Terrasoft, sandbox, entitySchema, structure, resources) {
        structure.userCode = function() {
            this.entitySchema = entitySchema;
            this.name = 'UsrEshDublSectionViewModel';
 
            this.columnsConfig = [
                [
                    {
                        cols: 24,
                        key: [
                            {
                                name: {
                                    bindTo: 'Name'
                                },
                                type: 'title'
                            }
                        ]
                    }
                ]
            ];
 
            this.loadedColumns = [{
                columnPath: 'Id'
            }, {
                columnPath: 'Name'
            }];
 
            function getActions() {
                var actions = [];
                actions.push({
                    caption: "",
                    className: "Terrasoft.MenuSeparator"
                }, {
                    caption: resources.localizableStrings.Zagolovok,
                    methodName: "changeStatus"
 
                });
                return actions;
            }
 
            this.actions = getActions();
 
 
            this.methods.loadGridCollectionItems = function(items) {
                var collection = this.get("gridData");
                if (items && items.collection.length === 0) {
                    this.showInformationDialog(lcz.DataNotFound);
                }
                collection.loadAll(items);
            };
 
            this.methods.changeStatus = function() {
                var currScope = this;
                var controls = {
                    FAMILIYA: {
                        type: Terrasoft.core.enums.ViewModelSchemaItem.ATTRIBUTE,
                        name: "FAMILIYA",
                        caption: resources.localizableStrings.Familiya,
                        //columnPath: "ESStatus",
                        dataValueType: Terrasoft.DataValueType.TEXT,
                        visible: true
                    },
                    IMYA: {
                        type: Terrasoft.core.enums.ViewModelSchemaItem.ATTRIBUTE,
                        name: "IMYA",
                        caption: resources.localizableStrings.Imya,
                        //columnPath: "ESStatus",
                        dataValueType: Terrasoft.DataValueType.TEXT,
                        visible: true
                    },
                    OTCHESTVO: {
                        type: Terrasoft.core.enums.ViewModelSchemaItem.ATTRIBUTE,
                        name: "OTCHESTVO",
                        caption: resources.localizableStrings.Otchestvo,
                        //columnPath: "ESStatus",
                        dataValueType: Terrasoft.DataValueType.TEXT,
                        visible: true
                    },
                    BORN: {
                        type: Terrasoft.core.enums.ViewModelSchemaItem.ATTRIBUTE,
                        name: "BORN",
                        caption: resources.localizableStrings.Born,
                        //columnPath: "ESStatus",
                        dataValueType: Terrasoft.DataValueType.DATE,
                        visible: true
                    },
                    SERIALPASS: {
                        type: Terrasoft.core.enums.ViewModelSchemaItem.ATTRIBUTE,
                        name: "SERIALPASS",
                        caption: resources.localizableStrings.SerialPass,
                        //columnPath: "ESStatus",
                        dataValueType: Terrasoft.DataValueType.TEXT,
                        visible: true
                    },
                    NUMBERPASS: {
                        type: Terrasoft.core.enums.ViewModelSchemaItem.ATTRIBUTE,
                        name: "NUMBERPASS",
                        caption: resources.localizableStrings.NumberPass,
                        //columnPath: "ESStatus",
                        dataValueType: Terrasoft.DataValueType.INTEGER,
                        visible: true
                    }
                };
 
                function nameInputBoxHandler(returnCode, controlData) {
                    if (returnCode === "ok") {
                        var currScope = this;
                        var f = controlData.FAMILIYA.value;
                        getFields(f);
 
                    }
                }
 
                function getFields(input) {
                    var lName=[];
                    lName.push(input);
 
                    var esq = Ext.create("Terrasoft.EntitySchemaQuery", {
                        rootSchemaName: "UsrEshDubl"
                    });
                    esq.addColumn("Name");
                    esq.filters.addItem(Terrasoft.createColumnInFilterWithParameters("Name", lName));
 
                    esq.getEntityCollection(function(response) {
                        if (response && response.success && response.collection) {
                            debugger;
                            var items = response.collection.getItems();
                            for(var j=0; j<items.length;++j){
                                //Как удалять старый результат
                                //Как добавлять новый результат
                            }
                        }
                    }, this);
                }
 
                Terrasoft.utils.inputBox(
                    resources.localizableStrings.Zagolovok,
                    nameInputBoxHandler,
                    ["ok", "cancel"],
                    this,
                    controls,
                    {
                        defaultButton: 0,
                        classes: {
                            coverClass: ["cover-calss1", "cover-calss2"],
                            captionClass: ["caption-calss1", "caption-calss2"]
                        }
                    }
                );
 
            };
        };
        return structure;
    });

 

Нравится

3 комментария
Лучший ответ

Добрый день!

Так понимаю, в метод getFields нужно вставить вызов метода loadGridCollectionItems и передать ему на вход полученный из БД список

Добрый день!

Так понимаю, в метод getFields нужно вставить вызов метода loadGridCollectionItems и передать ему на вход полученный из БД список

Большое спасибо, все заработала.

у меня еще один вопрос, как загружать пустую UsrEshDublSection?

 

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