一个很小的tip:比如我想把UI5表格控件里的每列设置成宽度根据显示的内容自适应,需要知道应该调用控件的哪个方法来实现。
一种办法当然是查SAP帮助文档,得知需要调用控件的公有方法setAutoSizable。
另一种办法是在debugger里研究,因为根据经验,这种公有方法的名称按照惯例一般都是以set开头,如下图:
根据经验从调试器里的set自动完成列表里的所有条目定位到应该调用setAutoResizable这个方法。下一个问题就是这个方法到底应该传什么参数进去。
直接在调试器里执行方法getMetadata, 展开返回的结果:
在_mProperties的autoResizable里得知这个set方法应该传一个boolean类型的参数进去:
反思
这种思路是在runtime时获取控件的元数据,这和Java的反射,ABAP的RTTI实际上异曲同工。
要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码: