Значение ключа JqxGrid - VueJS - PullRequest
       20

Значение ключа JqxGrid - VueJS

0 голосов
/ 06 января 2019

У меня есть две сетки, одна является основной сеткой, а другая - дочерней сеткой основной сетки. Одним нажатием кнопки панели инструментов основной сетки я открываю дочернюю сетку и отображаю доступные данные. Пользователь выбрал строки и нажимает кнопку Добавить.

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

Я добавил изображение для справки https://imgur.com/a/iSebASD Позвольте мне объяснить, как я это кодировал.

1.Первый при загрузке страницы адаптер данных основной и дочерней сетки пуст. 2. По нажатию кнопки «Добавить элемент» я запускаю вызов axios и получаю данные, подобные этому

getChildGridData : function () {
    // alert();
    var _this = this;
    if(_this.childGridData.length === 0){
        axios
            .get('/admin/forms/'+JSON.parse(_this.formData).formID+'/getAllItemMaster/listDataSource')
            .then(response => {
                console.log('fetching data');

                for(var z = 0 ; z < _this.gridValues.length ; z++){
                   // i am doing this so that I can set the source of the dropdown
                    if(_this.gridValues[z]['columntype'] === 'dropdownlist'){
                        var currColumnID = _this.gridValues[z]['datafield'];
                        var currColumnValue = _this.gridValues[z]['datafield'].split('_')[0]+'_value';
                        for(var cD = 0 ; cD < response.data.length ; cD++){
                             // here 
                            _this.gridValues[z].values.source.push( {
                                [currColumnID] : response.data[cD][currColumnID],
                                [currColumnValue] : response.data[cD][currColumnValue]

                            });

                        }
                    }

                }


                this.refreshDataField(_this.gridValues,response.data);
                _this.childGridDataFields = _this.gridValues;
                _this.childGridData = response.data;

            })

        ;
    }

}

Как только данные получены, я делаю это, чтобы установить dataAdapter в основную сетку.

refreshDataField : function(_dataArray,x){
    console.log('asdfasdf')
    this.dataAdapter = new jqx.dataAdapter({
        datatype: 'array',
        datafields : _dataArray,
        localdata : [x]
    });
    // this.dataAdapter.dataBind();
    // this.$refs.mainGrid.refresh();
}

Тот же метод, которым я следую для дочерней сетки, но он работает нормально и отображает ключ: отображается правильно, но почему основная сетка не работает должным образом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...