点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
专家您好,
我正在开发一个应用程序,该应用程序在同一视图中包含两个表,假设标题列表表和项目列表表,当用户单击标题表行时,将根据标题的选择填充项目列表。
在行上单击时,我可以绑定标题列表,但不能绑定项目列表,请问如何帮助用户在单击标题表行时绑定项目列表。
这是视图的代码
实体集BU_PARTNERSet和BP_AddressSet属于同一OData服务
createContent:function(oController){ //创建头表 var oTable = new sap.ui.table.Table('TB1',{ 标题:"标题列表", selectionBehavior:sap.ui.table.SelectionBehavior.Row, cellClick:函数(oEvent){oController.getTaskDetail(oEvent)} }); //创建表列 var oColPartner = new sap.ui.table.Column(); oColPartner.setLabel('业务合作伙伴'); var oTextPartner = new sap.m.Text(); oTextPartner.bindProperty('text',{path:'Partner'}); oColPartner.setTemplate(oTextPartner); oTable.addColumn(oColPartner); //创建表列 var oColType = new sap.ui.table.Column(); oColType.setLabel('业务类型'); var oTextType = new sap.m.Text(); oTextType.bindProperty('text',{path:'Type'}); oColType.setTemplate(oTextType); oTable.addColumn(oColType); //分配模型 oTable.placeAt('content'); //创建Item表 var oTableItem = new sap.ui.table.Table('TB2',{ 标题:"商品详情", visibleRowCount:3, selectionMode:sap.ui.table.SelectionMode.Single }); //添加列 oTableItem.addColumn(new sap.ui.table.Column({ 标签:new sap.ui.commons.Label({text:'Business Partner'}), 模板:new sap.ui.commons.TextView({text:" {Partner}"}) })); oTableItem.addColumn(new sap.ui.table.Column({ 标签:new sap.ui.commons.Label({text:'Address Number'}), 模板:new sap.ui.commons.TextView({text:" {Addrnumber}"}) })); //分配模型 oTableItem.placeAt('content');
这是控制器的代码
onInit:function(){ //创建URL var ourl =/sap/opu/odata/sap/ZBU_PARTNER_SRV/'; //创建OData模型 var oModel = new sap.ui.model.odata.ODataModel(ourl,{json:'true'}); //获取表 var xcore = sap.ui.getCore(); var oTable = xcore.byId('TB1'); //设置OData模型 oTable.setModel(oModel); //绑定行 oTable.bindRows('/BU_PARTNERSet'); } ***************事件********************************** *********** //获取任务详细信息 getTaskDetail:function(oEvent){ //创建URL var ourl ='sap/opu/odata/sap/ZBU_PARTNER_SRV/'; //创建OData模型 var oModelItem = new sap.ui.model.odata.ODataModel(ourl,{json:'true'}); //读取单元格行数据 var context = oEvent.getParameters()。rowBindingContext; //读取伙伴键值 oPartner = context.getObject('合作伙伴') //获取表 var xcore = sap.ui.getCore(); var oTableItem = xcore.byId('TB2'); //设置过滤器 var ofilter = new sap.ui.model.Filter({ 路径:"合作伙伴", 运算符:sap.ui.model.FilterOperator.EQ, 值1:oPartner }); oTableItem.bindRows({path:'/BP_AddressSet',filters:[ofilter]});
您好 Ramakrishna
在listItem表中,您未设置 模型,您将直接绑定行。
感谢
Viplove
我可以看到您的oData示例吗? 那将帮助我更好地调试。
我想我们可以在oData服务中进行过滤,而不是在客户端应用过滤器。
您是否调试过以查看" oPartner = context.getObject('Partner')"中oPartner的值是什么?
请共享示例数据。
尝试这种方法。
感谢Murali:-)
一周热门 更多>