Web Dynpro中Table的应用
1、table嵌套
外层Node Collection Cardinality 0..n,内层Node Collection Card 0..n,界面展示应为两个表格。若需得到当前外层Node的Element的内层Node,要给内层Node设置属性Singleton为false。只有这样才可通过代码得到。
2、table Parameter Mapping
有的时候需要对table明细数据进行操作,可以添加一个按钮,Action中对current Element进行操作。
还是另一种方式,在table中添加一列button,创建Action,添加Parameter element,参数设置为table binding的Element类型。Web Dynpro Layout视图,选择Button控件右键,设置Parameter Mapping。Action中即可获得当前行的Element。如图所示。
3、Table中的左对齐、右对齐
表头居中显示,设置TableColumn属性hAlign
表头居中的前提下,设置TableCellEditor的左、右对齐,一般情况下是使用TextView。
右对齐
左对齐
特殊情况:
Table中TableCellEditor使用TextView回显数据时,如果文本结尾带有括号“()”,采用上了上述的设置左对齐的方案,会使右边括号显示在左侧!这种时候只能更换控件,可以使用InputField,且设置ReadOnly为true。或者使用TextEdit,rows设置行数,cols设置宽度,displayAsText设置没有边框,readOnly设置只读,这样表面上和TextView的效果是一样的!
当表格可编辑时,一般指定对应的控件类型,比如Element attribute type为Decimal时,使用InputField控件,可自动对输入的格式进行校验。