一个很小的tip:比如我想把UI5表格控件里的每列设置成宽度根据显示的内容自适应,需要知道应该调用控件的哪个方法来实现。

一种办法当然是查SAP帮助文档,得知需要调用控件的公有方法setAutoSizable。

另一种办法是在debugger里研究,因为根据经验,这种公有方法的名称按照惯例一般都是以set开头,如下图:

根据经验从调试器里的set自动完成列表里的所有条目定位到应该调用setAutoResizable这个方法。下一个问题就是这个方法到底应该传什么参数进去。

直接在调试器里执行方法getMetadata, 展开返回的结果:

在_mProperties的autoResizable里得知这个set方法应该传一个boolean类型的参数进去:

反思

这种思路是在runtime时获取控件的元数据,这和Java的反射,ABAP的RTTI实际上异曲同工。


注销
1k 声望1.6k 粉丝

invalid