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

2020-09-20 10:18发布

         点击此处--->   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); 

         点击此处--->   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条回答
蓋茨
1楼-- · 2020-09-20 11:04

在智能表中添加以下参数:

 initiallyVisibleFields =" Kunnr1,Name1" 
宇峰Kouji
2楼-- · 2020-09-20 11:05

您好Radek,

我将该属性添加到了智能表中。 这是我在表中得到的答复

未找到结果。 调整搜索和过滤器设置。
代楠1984
3楼-- · 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

小灯塔
4楼-- · 2020-09-20 11:02

嗨Veera,

我按照您的建议尝试了两个步骤。 我收到以下错误。 是因为odata调用未正确发生而发生错误?

此致

Srinivasan

Doze时光
5楼-- · 2020-09-20 10:54

你好Srinivasan,

您收到的上述错误可以忽略。 这是UI5框架调用以检查某些文件的常规。 缺少它不会损害应用程序。 我有兴趣看到的是智能表绑定。 你能分享一下吗? 我很确定这就是问题所在。

感谢和问候,

Veera

落灬小鱼
6楼-- · 2020-09-20 10:59

Hi Toney,

在您的帮助下,我了解将服务URL用于模拟数据将无济于事,但在清单文件中,我已为应用程序定义了数据源和默认模型。 完成此步骤后,我在localService文件夹下获得了一个元数据文件。

现在,假设我将实体集绑定到智能表中,我将在其中为应用程序定位元数据文件的路径。 我对这条路感到震惊。

谢谢

Srinivasan

一周热门 更多>