У меня есть две сетки, одна является основной сеткой, а другая - дочерней сеткой основной сетки. Одним нажатием кнопки панели инструментов основной сетки я открываю дочернюю сетку и отображаю доступные данные. Пользователь выбрал строки и нажимает кнопку Добавить.
Данные добавляются в основную сетку, но в ней отображается ключ, а не значение (несколько столбцов в таблице являются выпадающим списком)
Я добавил изображение для справки 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();
}
Тот же метод, которым я следую для дочерней сетки, но он работает нормально и отображает ключ: отображается правильно, но почему основная сетка не работает должным образом?