2016-06-22 11 views
0

Ich versuche, das VIZ-Diagramm von SAPUI5 zu zeigen, bin aber nicht in der Lage, vom Modell empfangene Daten zu binden. Es löst [50017] - ungültige Datenbindung Fehler. Ich poste meinen Code unten bitte sehen Sie es sich an und helfen Sie mir, die Ursache zu finden.SAPUI5 VIZ Säulendiagramm Integration. Ungültiger Datenbindungsfehler

var assignedContentData = { 
    "AssignedContentData": [{ 
     "description": "Capital", 
     "newsletter": 2, 
     "press_release": 12, 
     "letter": 1, 
     "notice": 0, 
     "bulletin_memorandum": 0 
    }, { 
     "description": "NA", 
     "newsletter": 0, 
     "press_release": 0, 
     "letter": 0, 
     "notice": 1, 
     "bulletin_memorandum": 0 
    }, { 
     "description": "Equity", 
     "newsletter": 0, 
     "press_release": 4, 
     "letter": 0, 
     "notice": 5, 
     "bulletin_memorandum": 12 
    }] 
}; 

var oAssignContentModel = new sap.ui.model.json.JSONModel({ 
    data: assignedContentData 
}); 

sap.ui.getCore().setModel(oAssignContentModel, "oAssignContentModel"); 
var assignedContentBarChart = new sap.viz.ui5.controls.VizFrame("assignedContentBarChart", { 
    vizType: "stacked_column" 
}); 

var oDatasetAssignedContentBar = new sap.viz.ui5.data.FlattenedDataset({ 
    dimensions: [{ 
     name: "Description", 
     value: "{description}" 
    }], 
    measures: [{ 
     name: "Newsletter", 
     value: "{newsletter}" 
    }], 
    data: { 
     path: "/data/AssignedContentData" 
    } 
}); 

var feedValueAxis1 = new sap.viz.ui5.controls.common.feeds.FeedItem({ 
    'uid': "valueAxis", 
    'type': "Measure", 
    'values': ["Newsletter"] 
}); 
var feedCategoryAxis1 = new sap.viz.ui5.controls.common.feeds.FeedItem({ 
    'uid': "categoryAxis", 
    'type': "Dimension", 
    'values': ["Description"] 
}); 
var feedColorAxis1 = new sap.viz.ui5.controls.common.feeds.FeedItem({ 
    'uid': "color", 
    'type': "Dimension", 
    'values': ["Newsletter", "Press_Release", "Letter", "Notice", "Bulletin_memorandum"] 
}); 
assignedContentBarChart.setVizProperties({ 
    plotArea: { 
     dataLabel: { 
      visible: true, 
      formatString: "#,##0" 
     } 
    }, 
    legend: { 
     title: { 
      visible: false 
     } 
    }, 

    title: { 
     visible: true, 
     text: 'Bar Chart' 
    } 
}); 

assignedContentBarChart.setDataset(oDatasetAssignedContentBar); 
assignedContentBarChart.addFeed(feedValueAxis1); 
assignedContentBarChart.addFeed(feedCategoryAxis1); 

Antwort

1

Ihre Bindung ist falsch. Als Ihr Modellname oAssignContentModel ist, muss es in der Bindung als auch in der data Eigenschaftszuweisung widerspiegelt:

var oDatasetAssignedContentBar = new sap.viz.ui5.data.FlattenedDataset({ 
    dimensions: [{ 
     name: "Description", 
     value: "{description}" 
    }], 
    measures: [{ 
     name: "Newsletter", 
     value: "{newsletter}" 
    }], 
    data: { 
     path: "oAssignContentModel>/data/AssignedContentData" 
    } 
}); 

Oder Sie den Namen aus dem Modell entfernen kann, und Sie können die Daten verlassen verbindlich, wie es jetzt ist :

sap.ui.getCore().setModel(oAssignContentModel); 
+0

vielen Dank für die Angabe der Ursache. –