根据表格单元格的内容更改HAlign

时间:2015-01-06 01:53:26

标签: xml sapui5 right-align

我正在使用带有Matrix Layout和表格的SAPUI5。我正从我的JSON调用中检索3行数据。数据总是有3行 - 两行从数据库中检索数据,1行是总行。我想做的是右对齐最后一行。

这是当前的输出:

This is the current output

我想做的是移动" 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来创建基质/表。我不确定是否需要更改列或文本 - 我倾向于列,但我无法弄清楚如何只更改该特定行的列。

我感谢您提供的任何帮助。

2 个答案:

答案 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");
}

希望这有帮助!

编辑:jsbin示例http://jsbin.com/lolife/1/edit?html,js,output