饼图中的sapui5 viz.ui5.controls.popover绑定问题

2020-09-20 23:38发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, IV创建了一个饼图...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

IV创建了一个饼图,显示了年度部门。 明智的数据,并在弹出控件中单击饼图,将创建一个表,以显示所选context_row_number的每个季度的数据。

这是代码

var dept = {"公司":[

{部门:"销售",第一季度:" 1000",第二季度:" 1200",第三季度:" 1400",第四季度:" 1600",年份:" 4200",员工人数:" 70",总部:"新 德里"}

{部门:"帐户",第一季度:" 1100",第二季度:" 1150",第三季度:" 1300",第四季度:" 1350",年份:" 3500",员工人数:" 30",总部:"孟买" ",

{部门:" IT",第一季度:" 900",第二季度:" 500",第三季度:" 700",第四季度:" 1000",年份:" 2800",员工人数:" 20",总部:"钦奈 "}]}

 touch:function(evt){
 调试器;
 var data = evt.getParameters(" data");
 var contextrow = data.data [" 0"]。data._context_row_number;
 console.log(contextrow);
 var popover = new sap.viz.ui5.controls.Popover({
 customDataControl:function(){
 var table = new sap.m.Table({
 headerText:"季度",
 成长:是的,
 列:[
  新的sap.m.Column({
 标头:[new sap.m.Text({text:" Q1"})
 ]
 }),
 新的sap.m.Column({
 标头:[
 新的sap.m.Text({text:" Q2"})
 ]
 }),
 新的sap.m.Column({
 标头:[
 新的sap.m.Text({text:" Q3"})
 ]
 }),
 新的sap.m.Column({
 标头:[
 新的sap.m.Text({text:" Q4"})
 ]
 })
 ]
 });

 *****模板创建****

 var collist = new sap.m.ColumnListItem({
 细胞:[
//new sap.m.Text({text:" {/" + contextrow +"/img/Q1}"}),
//new sap.m.Text({text:" {/" + contextrow +"/img/Q2}"}),
      //new sap.m.Text({text:" {/" + contextrow +"/img/Q3}"}),
//new sap.m.Text({text:" {/" + contextrow +"/img/Q4}"})
   
 新的sap.m.Text({text:" {/" + contextrow +"/img/Q1}"}),
 新的sap.m.Text({text:" {/" + contextrow +"/img/Q2}"}),
 新的sap.m.Text({text:" {/" + contextrow +"/img/Q3}"}),
 新的sap.m.Text({text:" {/" + contextrow +"/img/Q4}"})

 ]
 });
 var model = sap.ui.getCore()。getModel(" modelid");
 console.log(模型)
 var z = model.getProperty("/img/Company");

 var jmodel = new sap.ui.model.json.JSONModel(z);
//sap.ui.getCore()。setModel(jmodel);
 console.log(jmodel);
 table.setModel(jmodel);
 table.bindItems("/",collist);
 返回表
 }
 });
 var pie = sap.ui.getCore()。byId(" pieid");
 popover.connect(pie.getVizUid());


 }
 
附上的

是单击饼图时的结果。 它在三行中显示了单击的context_row_number的"季度"数据,而不仅仅是一行。

也尝试了其他方法,但是绑定存在问题。

最好的问候

Archit Wahi

(23.5 kB)
付费偷看设置
发送
5条回答
nice_wp
1楼-- · 2020-09-21 00:12

在您的代码中没有将过滤器应用于表绑定。...您仅显示所有记录....

木偶小白
2楼-- · 2020-09-21 00:12

感谢Srikanth,您能否详细说明一下过滤器点 一点及其实现。

我认为,由于绑定已被解析为公司数据数组中的特定对象号,例如通过context_row_number的Sales,Account,IT中的任何一个,所以我认为它不是必需的。 多数民众赞成在解决绑定的模板。 使用单击的上下文行应仅显示一行,该行显示阵列中该特定对象的四分之四(销售,acc或IT),而不显示其显示的三分之四。 是吗?

黑丝骑士
3楼-- · 2020-09-21 00:05

您正在将所有行绑定到弹出框:

 var z = model.getProperty("/img/Company");

 var jmodel = newsap.ui.model.json.JSONModel(z);//sap.ui.getCore()。setModel(jmodel);
 console.log(jmodel); table.setModel(jmodel); 

您应该只选择选定的行并将其绑定。

Kr,

Wouter

callcenter油条
4楼-- · 2020-09-21 00:05

您可以尝试将其放在" z"中吗?

var z = model.getData()。Company;

您还可以将 JSBIN中的示例?

Kr,

Wouter

jovirus
5楼-- · 2020-09-20 23:58

Archit,

我还实现了自定义弹出窗口以显示相关信息。 您能否使用JS Bin或任何其他工具共享代码,以供我遍历代码。

调用此触摸事件的位置或绑定此触摸事件的位置?

谢谢

一周热门 更多>