2016-07-06 7 views
0

異なるタイプのカラムを持つテーブルを動的にレンダリングしたい。テーブルのフォーマッタ - >ラベル

これは私の構造体である:

var cols = [{ 
    name: "{i18n>BidNumber}", 
    value: "{Items>Dono}" 
},{ 
    name: "{i18n>BidHaulier}", 
    value: "{Items>BHaulier}" 
},{ 
    name: "{i18n>BidHaulierName}", 
    value: "{Items>BHaulierName}" 
},{ 
    name: "{i18n>BidContact}", 
    value: "{Items>Contact}" 
},{ 
    name: "{i18n>BidPostingDate}", 
    value: "{Items>BRunoffti}", 
    formatter: "formatter.getDateShort" 
}]; 

そして、ここでは、私は空の列を持って、フォーマッタが呼び出されていない私のレンダリングされたビューでは

var colItems = new sap.m.ColumnListItem("colItems",{type:"Active"});      
for(var i = 0; i < cols.length; i ++){ 
    var txtNAME = new sap.m.Label({ 
     text: { 
      path: cols[i].value, 
      formatter: cols[i].formatter 
     } 
    }); 
    colItems.addCell(txtNAME); 
} 

列を構築するための私のループです。

この1つは、フォーマッタせずに、私の作品:

var colItems = new sap.m.ColumnListItem("colItems",{type:"Active"});  
for(var i = 0; i < cols.length; i ++){ 
    var txtNAME = new sap.m.Label({text: cols[i].value }); 
    colItems.addCell(txtNAME); 
} 

答えて

1

何がこのように気にいらを行う場合:私はあなたが中括弧をあなたのcolsから削除するべきだと思います。この場合、

var colItems = new sap.m.ColumnListItem("colItems",{type:"Active"});  
for(var i = 0; i < cols.length; i ++){ 
    var txtNAME = new sap.m.Label({ 
     text: { path: cols[i].value, 
       formatter: formatter.getDateShort 
      } 
    }); 
    colItems.addCell(txtNAME); 
} 

配列:

var cols = [{ 
    name: "{i18n>BidNumber}", 
    value: "Items>Dono" 
}