2014-10-07 37 views

回答

1

您首先創建計算結果。然後,您將其轉移到新的JSON模型中,並使用setData函數傳遞結果。 然後將控件綁定到新的JSON模型。我儘量彌補一些虛擬代碼可能位於您的控制器:

var data = modelWithRawData.getData(); 
calculationOutput = doComplicatedCalculation(data); 

var calculationModel = new sap.ui.model.json.JSONModel(calculationOutput) 
myView.setModel(calculationModel, "calculationModel"); 

而在你綁定的路徑你現在需要引用MODELNAME。例如,在一個xmlView中:

<Chart data="{calculationModel>/PathToRelevantData}"> 
<!-- more xml --> 
0

下面是一個使用sap.viz庫工作示例:

<html> 
<head> 
<meta http-equiv="X-UA-Compatible" content="IE=edge"> 
<meta http-equiv='Content-Type' content='text/html;charset=UTF-8' /> 

    <script src="resources/sap-ui-core.js" id="sap-ui-bootstrap" 
     data-sap-ui-libs="sap.ui.commons,sap.ui.layout,sap.ui.ux3,sap.ui.table,sap.m,sap.viz" 
     data-sap-ui-theme="sap_goldreflection"> 
    </script> 

<script> 
    var oModel = new sap.ui.model.json.JSONModel({ 
     businessData : [ 
      {text: "A", value: 100}, 
      {text: "B", value: 200}, 
      {text: "C", value: 300} 
     ] 
    }); 

    //DO SOME ADVANCE CALCULATION WITH THE JSON DATA... 
    var data = oModel.getData(); 
    data.businessData[0].value += 30; 
    data.businessData[1].value = data.businessData[1].value * 2; 
    data.businessData[2].value = data.businessData[2].value - 100; 
    //END OF SOME ADVANCE CALCULATION WITH THE JSON DATA... 

    var oDataset = new sap.viz.ui5.data.FlattenedDataset({ 
      dimensions : [{axis : 1, name : 'Text', value : "{text}"}], 
      measures : [{name : 'Value', value : '{value}'}, 
     ], 
     data : {path : "/businessData"} 

    }); 
    var oBarChart = new sap.viz.ui5.Bar({ 
     title : { 
      visible : true, 
      text : 'My bar chart' 
     }, 
     dataset : oDataset 
    }); 

    // attach the model to the chart and display it 
    oBarChart.setModel(oModel); 

    oBarChart.placeAt("content"); 
</script> 

</head> 
<body class="sapUiBody" role="application"> 
    <div id="content"></div> 
</body> 
</html> 

希望這有助於。

相關問題