在SAPUI5智能表中显示odata的问题

2020-09-20 10:18发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我正在尝试在项目中使...

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

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


大家好,

我正在尝试在项目中使用智能表控件而不是sap.m.table。 在遵循 SAPUI5探索我使用了过滤器和表格代码。

下面的代码在我的控制器中使用,而不是从模拟服务器加载数据。

我能够获得分类器和过滤器,但我的智能表显示"无数据"。

执行过滤器操作时出现的错误是

1。 错误:无法从./Component-changes.json加载资源smarttableSmartTable/Component-changes.json。 检查"找不到文件"或解析错误。 原因:找不到-

2。 " getChanges"失败:-

请提供有关我可能在哪里出错的建议。

谢谢

Srinivasan

 jQuery.sap.require(" sap.ui.core.util.MockServer");
 var oModel;
 var oMockServer = new sap.ui.core.util.MockServer({
 rootUri:"/img/sap/opu/odata/SAP/ZCFS_CUSTOMER_LIST_SRV/"
 });
 this._oMockServer = oMockServer;
 oMockServer.simulate(" localService/ZCFS_CUSTOMER_LIST_SRV/metadata.xml"," localServiceZCFS_CUSTOMER_LIST_SRV");
 oMockServer.start();
 oModel = new sap.ui.model.odata.ODataModel("/img/sap/opu/odata/SAP/ZCFS_CUSTOMER_LIST_SRV/",true);
 oModel.setCountSupported(false);
 var oView = this.getView();
 oView.setModel(oModel); 
9条回答
代楠1984
2020-09-20 10:47

Srenivasan,您好,

有两种方法可以将默认列添加到智能表。

首先,它会在下面的注释中查找元数据,如果未定义,则可以选择通过Radek提到的智能表属性来提供。 initialVisibleFields =" Kunnr1,Name1"

  

然后形成表格,并使用具有以上任一选项的列进行渲染。

呈现表格后,绑定将通过您提供的实体集触发,这将是对服务器的请求,网址如下:

/sap/opu/odata/SAP/ZCFS_CUSTOMER_LIST_SRV/ZCFS_CustSet?

看看是否返回数据!

如果没有,您可能要传递一些默认过滤器以获取可以在智能表的onBeforeBinding事件中处理的数据。

 onBeforeRebindTable:function(oEvent){
 var mBindingParams = oEvent.getParameter(" bindingParams");
 var aFilter = [];
 if(<如果过滤器具有值>){
 aFilter.push(新sap.ui.model.Filter(" ",sap.ui.model.FilterOperator.EQ," ")));
 mBindingParams.filters = aFilter;
 }
 },

如果上面的服务网址可以获取数据,您还可以单击"转到"按钮获取数据,您可以从浏览器中触发请求以查看响应是什么。

此致

BG

一周热门 更多>