如何向下钻取包含点击类别的MAKit图表?

时间:2014-04-03 15:56:15

标签: javascript charts sapui5

在SAPUI5应用程序中,我使用两个XML视图,显示一个Chart,每个都有一个绑定到OData服务的模型。

在第一个视图中,我使用以下代码构建图表:

<ma:Chart id="idChart" height="90%" width="100%" type="Column"
    rows="{/MySet}" tap="onTapEvt">

    <ma:category>
        <ma:Category column="category" displayName="Category" />
    </ma:category>

    <ma:series>
        <ma:Series column="intervallSeries" displayName="Intervall"/>
    </ma:series>

    <ma:values>
        <ma:Value expression="mValue" displayName="Anzahl" />                               
    </ma:values>

    <ma:columns>
        <ma:Column name="category" value="{Category}" />
        <ma:Column name="intervallSeries" value="{Intervall}" />
        <ma:Column name="mValue" value="{Anzahl}" type="number" />
    </ma:columns>   
</ma:Chart> 

假设我的示例图表中有四个类别,分别名为“A”,“B”,“C”和“D”。 当我点击图表中的类别“C”时,我想通过过滤“Category eq'C'”,使用我的OData服务中的过滤数据在下一页上显示另一个图表。 因此我使用函数

onTapEvt: function(oEvent) {
        var selectedCategory = oEvent.oSource._selectedCatIdx;  // 2 when I select 'C'
        // --> How do I get Category value 'C' instead of selectedIndex 2 here <--
    app.to("nextPage", "slide", selectedCategory);
}

对象oEvent.oSource包含所有MAKit Chart数据,例如我点击的类别的选定索引。 现在我正在寻找一种方法来从图表中读取带有索引2的Category的绑定值。 有任何想法吗?在SAPUI5 SDK中,我找不到有用的方法。

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码获取所选类别:

var myChart = this.getView().byId("idChart");
var cat = myChart.getSelectedCategory();