//Populate initial data
function populateData(list, columnNum, controller, itemDataResult) {
var columnId = "C" + columnNum;
var itnoId = ListControl.GetColumnIndexByName("MTPL") + 1;
var itnoColId = "C"+ itnoId;
if(itemDataResult.length == list.getData().getLength()){
for (var i = 0; i < list.getData().getLength(); i++) {
var row = list.getData().getItem(i);
var itno = row[itnoColId];
var newData = {};
for(var j=0; j<itemDataResult.length; j++){
if(itemDataResult[j].ITNO == itno){
var itds = itemDataResult[j].ITDS;
newData[columnId] = itds;
}
}
$.extend(row, newData);
}
}
var columns = list.getColumns();
list.setColumns(columns);
};
I have this code snippet I've used for the NewUI to populate data in an already existing column but doesn't work with a new custom column.
var list = _this.grid;
var listData = list.getData();
ITDS = 'TEST DESCRIPTION';
let PriorityInfoCell = `R${i+1}C${_this.nColumn}`
listData[i].S1CCSA = ITDS; <<< This part wouldn't work because S1CCSA is an already existing column and the new column doesn't show in listData that way.
listData[i].items[_this.nColumn].isHidden = false;
list.editedCells[PriorityInfoCell] = { newValue: ITDS };
list.setData(listData);