我使用过viz图表库。我在列图上给出了一些向下钻取功能。为此,我必须选择图表的任何列以查看所选部分的详细信息(在同一页面中)。
现在我想自动选择列图的第一列/栏。这意味着当我进入图表页面时,应该选择第一个栏作为默认栏,并且所选栏的详细信息应该在那里。
请帮帮我们。
代码:
查看:
<viz:ui5.Column id="chart" selectData="goToDaily" width="auto">
<viz:plotArea>
<viz:ui5.types.VerticalBar colorPalette="#FFCC00"/>
</viz:plotArea>
<viz:title>
<viz:ui5.types.Title text="Monthly">
</viz:ui5.types.Title>
</viz:title>
<viz:dataset>
<viz:ui5.data.FlattenedDataset id="fds1" >
<viz:dimensions>
<viz:ui5.data.DimensionDefinition id="dim" axis="1" name="Month" value="{name}">
</viz:ui5.data.DimensionDefinition>
</viz:dimensions>
<viz:measures>
<viz:ui5.data.MeasureDefinition id="mea" name="Values" value="{value}">
</viz:ui5.data.MeasureDefinition >
</viz:measures>
</viz:ui5.data.FlattenedDataset>
</viz:dataset>
</viz:ui5.Column>
控制器:
的OnInit:
JSONmodel = new sap.ui.model.json.JSONModel();
data1 = [ {
name : "Jan",
value : 100,
},
{
name : "Feb",
value : 150,
},
{
name : "March",
value :120,
},
{
name : "April",
value : 200,
}
];
JSONmodel.setData(data1);
sap.ui.getCore().byId("idPage3--chart").setModel(JSONmodel);
选择图表数据:
goToDaily:function(evt){
sap.ui.getCore().byId("idPage3--chart").selection({ctx:[{dii_a1:1}]});
}
我尝试选择月份2月作为默认选择,但无法选择它。
此致 Niket Talati
答案 0 :(得分:0)
你的代码中有很多不正确的东西
您已为selectData
指定了一个事件处理程序,但这显然只会在您第一次选择数据&#34;时触发。您永远不会在代码中触发事件以进行数据选择,因此只有在您手动单击列时才会触发事件处理程序
您似乎尝试从事件处理程序触发事件(相反,请参见上一点),但您从未实现过fireSelectData
方法。
此外,您尝试选择的地图的签名不正确。 According to the API(格式不合适,我知道)你需要发送更多信息,例如:
// ...snip...
var oSelection = {
data : [
{
target : oRect,
data : [
{
ctx : {
path : {
dii_a1 : 0,
dii_a2 : 0,
mg : 0,
mi : 0
},
type : "Measure"
},
val : 100
}
]
}
],
name : "selectData"
};
oYourChart.fireSelectData(oSelection);
// ...snip...
this.getView().byId("chart")
代替希望以上有所帮助!