axisj icon indicating copy to clipboard operation
axisj copied to clipboard

AXGrid 대용량 데이터를 위한 데이터 포멧

Open hyunjun19 opened this issue 10 years ago • 6 comments

현재 사용되고 있는 그리드 포멧은 대용량 데이터를 사용시 중복되는 내용(키)가 많습니다. 따라서 반복되는 내용(키)를 최소화하고 데이터 크기를 줄일 수 있는 데이터 포멧을 추가 지원하면 좋을 것 같습니다.

현행

{
    list: [
        { 'col-a': 1, 'col-b':2 },
        { 'col-a': 1, 'col-b':2 },
        ...
    ]
}

추가 지원 포멧

{
    columns: [ 'col-a', 'col-b' ],
    list: [
        [1, 2],
        [1, 2],
        ...
    ]
}

hyunjun19 avatar Aug 24 '15 08:08 hyunjun19

head, detail 이 더 맞는 표현법이 아닐까 생각합니다. list가 겹치니까

thomasJang avatar Aug 24 '15 13:08 thomasJang

구현하더라도 서버에서 데이터 받은후에 오브젝트로 치환 후 사용해야 쉽겠다 합니다

thomasJang avatar Aug 24 '15 14:08 thomasJang

@thomasJang 저도 그렇게 생각합니다. =)

hyunjun19 avatar Aug 24 '15 14:08 hyunjun19

cols, rows 짧고 좋네요.

{
    cols: [ 'col-a', 'col-b' ],
    rows: [
        [1, 2],
        [1, 2],
        ...
    ]
}

hyunjun19 avatar Aug 24 '15 14:08 hyunjun19

:+1:

groovedk avatar Aug 25 '15 06:08 groovedk

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; }; }

keeppy avatar Sep 26 '16 06:09 keeppy