AXGrid 대용량 데이터를 위한 데이터 포멧
현재 사용되고 있는 그리드 포멧은 대용량 데이터를 사용시 중복되는 내용(키)가 많습니다. 따라서 반복되는 내용(키)를 최소화하고 데이터 크기를 줄일 수 있는 데이터 포멧을 추가 지원하면 좋을 것 같습니다.
현행
{
list: [
{ 'col-a': 1, 'col-b':2 },
{ 'col-a': 1, 'col-b':2 },
...
]
}
추가 지원 포멧
{
columns: [ 'col-a', 'col-b' ],
list: [
[1, 2],
[1, 2],
...
]
}
head, detail 이 더 맞는 표현법이 아닐까 생각합니다. list가 겹치니까
구현하더라도 서버에서 데이터 받은후에 오브젝트로 치환 후 사용해야 쉽겠다 합니다
@thomasJang 저도 그렇게 생각합니다. =)
cols, rows 짧고 좋네요.
{
cols: [ 'col-a', 'col-b' ],
rows: [
[1, 2],
[1, 2],
...
]
}
:+1:
if (AXUtil == undefined){ console.log(">> Error initializing plugin, AXISJ (AXUtil) Required!"); } else { AXUtil.listFromArray = function(cols, listOfArr) { var rows = new Array(); try { if (cols == undefined || cols.length < 1 || listOfArr == undefined || listOfArr.length < 1) return []; var numCols = cols.length; var cc = 0, numArrItems = 0; for (var r = 0; r < listOfArr.length; r++) { numArrItems = listOfArr[r].length; if (cc == 0) { cc = (numCols > numArrItems) ? numCols : numArrItems; } var row = {}; for (var i = 0; i < cc; i++) { /* try { row[ cols[i] ] = listOfArr[r][i]; } catch (e1) { row[ cols[i] ] = ''; } */ row[ cols[i] ] = listOfArr[r][i]; } rows.push(row); } } catch (e){ console.log(e); } return rows; }; }