点击此处---> 群内免费提供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)
丹尼尔,你好
您可以使用JSONModel或为状态定义一个实体,并将Select绑定到该实体:
如果状态可能会更改,则应使用一个实体,因为您的应用程序将更易于维护。
关于过滤器,您应该首先查看问题是来自前端还是后端。 在UI5应用中应用过滤器后,应发送带有$ filter参数的请求:
您是否正在使用OData v2或v4,Java或Node.js? 我刚刚检查了一下,我没有做任何事情来使上面的过滤器正常工作,因此它必须在默认的Java OData v2实现中。
干杯
Pierre
我在SAP Web IDE中使用了CAP业务应用程序,并基于ODatav4和Node.js后端创建了一个带有枚举的数据模型,但是在创建服务和 我检查了元数据,该字段只是一个纯整数,没有任何枚举。
有人告诉我ODatav2不支持,但v4支持,但无法使其正常工作。
p>
HANA CDS和CAP CDS(CAP CDS不支持?)之间可能有所不同,但我不知道。
感谢您的答复。
我正在将OData v4与Node.js一起使用。 我实现了一个图标标签栏,然后在事件上创建了sap.ui.model.Filter并更新了绑定的filter属性。
我遇到类型不匹配的情况,因为控件似乎认为该值是字符串 除非我另外指定,否则我添加了数据类型属性。 另一个问题是我希望人们能够选择" Keep",但在其下面它将知道它是整数1。我可以简单地使用数据库中的字符串来实现此功能,例如在每条记录中都使用" Keep",但这似乎
真的,我的主要问题是如何从数据库级别然后从服务级别实现枚举。 有人告诉我v4支持的枚举,但是我尝试了一下,但我的OData服务仍然不知道该字段的枚举(在元数据中)。
CDS应该支持枚举,但是我已经 从未尝试过此操作( https://help.sap.com/viewer /65de2977205c403bbc107264b8eccf4b/Cloud/zh-CN/4a5d78f5e6b04685b61edea4ef59a33d.html ):
干杯
Pierre
一周热门 更多>