如何在SAPUI5 App和DB中处理枚举

2020-09-03 22:40发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)我已经创建了这样的数据模型,并创...

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

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


我已经创建了这样的数据模型,并创建了OData服务:

实体WikiPages {
 密钥ID:整数;
 SpaceKey:字符串(25);
 空格:字符串(50);
 标题:String(255);
 PageLink:字符串(255);
 SpaceStatus:字符串(15);
 LastUpdate:日期;
 SAPuserID:字符串(255);
 PageViews:整数;
 审稿人:弦乐(15);
 注释:字符串(255);
 状态:整数;
 }
 

状态列是一个整数,但实际上代表一个枚举-每行都有一个状态。

在我的SAPUI5应用程序中,我创建了一个名为"动作"的数据模型,并为每个枚举输入了键和文本。

 var actions = {" Actions":[
 {键:0,标签:""},
 {键:1,标签:"保持"},
 {键:2,标签:"迁移"},
 {键:3,标签:"删除"}
 ]};

 var oModel = new sap.ui.model.json.JSONModel(actions);
 this.getView()。setModel(oModel," actions");
 

在我看来,我创建了一个Select控件,其中键绑定到我的数据表,而选择项绑定到我在上面创建的数据模型:

 <列宽=" 8rem" hAlign =" Center">
 
 <模板>
 
 />
 
 
 
 

一切正常,我得到了想要的功能(尽管我不知道这是否是执行此操作的最佳方法):

2个问题:

  • 是否有一种标准(更好的方法)来实现我想做的事情?
  • 我的应用程序运行良好,但我不知道如何让人们在此列上进行过滤。 我将该列的filterProperty设置为data字段,但是即使输入密钥(例如,像1这样的整数),也无法进行过滤。 我在做什么错了?

(83.9 kB)
4条回答
nice_wp
2020-09-03 23:34

感谢您的答复。

我正在将OData v4与Node.js一起使用。 我实现了一个图标标签栏,然后在事件上创建了sap.ui.model.Filter并更新了绑定的filter属性。

我遇到类型不匹配的情况,因为控件似乎认为该值是字符串 除非我另外指定,否则我添加了数据类型属性。 另一个问题是我希望人们能够选择" Keep",但在其下面它将知道它是整数1。我可以简单地使用数据库中的字符串来实现此功能,例如在每条记录中都使用" Keep",但这似乎

真的,我的主要问题是如何从数据库级别然后从服务级别实现枚举。 有人告诉我v4支持的枚举,但是我尝试了一下,但我的OData服务仍然不知道该字段的枚举(在元数据中)。

一周热门 更多>