2014-06-13 3 views
0

slickgrid를 사용하여 단일 행이 아닌 단일 열에 내 객체를 표시하는 방법을 알아 내려고합니다. 아래는 그 예입니다. 아이디어?단일 열의 Slickgrid 표시 객체가 행이 아님

그리드 데이터가이

desc | fname | lanme 
option1 | john | doe 
option2 | kyle | noobie 

이 내가 원하는 무엇 내가 slickgrid로 (행 개체보기) 무엇을 얻을이

[{ fname: 'john', lname:'doe'}, {fname:'kyle', lname:'noobie'}] 

처럼 보이는 (열 개체보기)

desc | option1 | option2 
fname | john | kyle 
lname | doe  | noobie 

답변

0

나는 이것을 알아 내었고 예쁜 것은 아니었다. 기본적으로 데이터를 새로운 행 객체로 피벗 한 다음 다시 저장하여 저장합니다. 정말 예쁜 것은 아니지만 일을 끝내게됩니다. 이상한 일은 이제 하나의 편집기와 포맷터를 만들어 각 열에 적용해야한다는 것입니다. 편집기/포맷터는 필드 이름을보고 switch 문을 사용하여 모양을 결정합니다. 재미있게 보내십시오. 나는 그랬다. :)

function getPivotedRows(origData) { 
//this is a mapping between the column headings and the properties 
var properties = [{ 'First Name': 'fname' }, { 'Last Name': 'lname' }]; 

//this holds my pivoted rows 
var rows = []; 
    for (var i = 0; i < properties.length; i++) { 
    var row = {}; 
    for (var j = 0; j < origData.length; j++) { 
     var key = ""; 
     for (var p in properties[i]) { 
      row['Description'] = p; //set the column 
      key = properties[i][p]; 
     } 
     row['options' + (j + 1)] = origData[j][key]; 
    } 
    row[gridOptions.uniqueKey] = i; 
    rows.push(row); 
    } 
    return rows; 
}