0

我正在使用带有矩阵布局和表格的 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"}
]

有没有办法将第三行中“Total”一词的对齐方式设置为右对齐?

我环顾四周,看看是否能找到类似的东西,但最接近的是将列内容类型更改为文本或图像/链接,但这些示例没有使用 XML 来创建矩阵/表。我不确定是否需要更改列或文本 - 我倾向于列,但我不知道如何仅更改该特定行的列。

我很感激你能提供的任何帮助。

4

2 回答 2

0

I guess the easiest way in such a case is writing a css rule for this table instead. You could do something like .myTableStyleClass tr:lastChild td:first-child, assuming you attach myTableStyleClass to your table - see JSBin here: http://jsbin.com/guxodawefu/1/edit?html,css,output Hope that helps!

Best, 10littleOrcs

于 2015-01-12T13:06:24.767 回答
0

如果您的最后一行始终具有partnerStatuswith value Total,则可以使用格式化程序函数使第三行仅右对齐:

<table:template>
    <TextView text="{partnerStatus}" textAlign="{path:'partnerStatus', formatter:'.alignPartnerStatus'}"/>
</table:template>

在您的控制器中,指定格式化程序函数alignPartnerStatus,如下所示:

alignPartnerStatus : function(val) {
    return (val === "Total" ? "Right" : "Left");
}

希望这可以帮助!

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

于 2015-01-12T15:15:52.353 回答