我正在使用带有Matrix Layout和表格的SAPUI5。我正从我的JSON调用中检索3行数据。数据总是有3行 - 两行从数据库中检索数据,1行是总行。我想做的是右对齐最后一行。
这是当前的输出:
我想做的是移动" Total"在右边。
这是我的列的XML(图片中显示的客户类型)。我删除了剩余的表,因为我认为这里不需要它。
<cl:MatrixLayoutCell colSpan="2">
<table:Table id="prodStats" selectionMode="None" visible="true" rows="{/pstats}" title="Overall Statistics" >
<table:columns>
<table:Column >
<Label text="Customer Type"/>
<table:template>
<Text text="{partnerStatus}" />
</table:template>
</table:Column>
我的数据类似于:
"pstats":[
{"cnt1":"37","cnt2":"42","cnt3":"228","partnerStatus":"Customer"},
{"cnt1":"158","cnt2":"193","cnt3":"948","partnerStatus":"Partner"},
{"cnt1":195,"cnt2":235,"cnt3":1176,"partnerStatus":"Total"}
]
有没有办法设置单词的对齐方式&#34; Total&#34;在第三行是否正确对齐?
我环顾四周看看是否能找到类似的东西,但最接近的是将列内容类型更改为Text或Image / Link,但这些示例并未使用XML来创建基质/表。我不确定是否需要更改列或文本 - 我倾向于列,但我无法弄清楚如何只更改该特定行的列。
我感谢您提供的任何帮助。
答案 0 :(得分:0)
我想在这种情况下最简单的方法是为这个表编写一个css规则。 您可以执行类似.myTableStyleClass tr:lastChild td:first-child的操作,假设您将myTableStyleClass附加到表中 - 请参阅此处的JSBin: http://jsbin.com/guxodawefu/1/edit?html,css,output 希望有所帮助!
最佳, 10littleOrcs
答案 1 :(得分:0)
如果您的最后一行总是partnerStatus
且值为Total
,那么您可以使用格式化程序函数将第三行仅右对齐:
<table:template>
<TextView text="{partnerStatus}" textAlign="{path:'partnerStatus', formatter:'.alignPartnerStatus'}"/>
</table:template>
在控制器中,指定格式化程序函数alignPartnerStatus
,如下所示:
alignPartnerStatus : function(val) {
return (val === "Total" ? "Right" : "Left");
}
希望这有帮助!