table 中的图标与 mergeDuplicates="true" 不兼容

Icon in table incompatible with mergeDuplicates="true"

我有一个 Table,我想合并第一列中的重复项:

<Column mergeDuplicates="true">
    <Text text="Society"/>
</Column>
<Column>
    <Text text="Ref2"/>
</Column>
 ...

我想在第一列有一个复杂的元素:一个显示社会旗帜的图标。

<items>
    <ColumnListItem>
        <cells>
            <StandardListItem title="{model>society/description}"
             icon="{path: 'model>society/code', 
             formatter: 'ui5bp.Formatter.iconGeneral'}"/>
            <!--<Text text="{model>society/description}"/>-->
            <Text text="{model>ref2}"/>
        </cells>
    </ColumnListItem>
</items>

但是如果我设置 StandardListItem 而不是简单文本,则 mergeDuplicates="true" 不起作用。

复杂的列项目和 mergeDuplicates 属性 不兼容吗?

现在 StandardListItem 有这个结果:

如何创建正确的 "MyCustomColumnListItem" 以在左侧显示标志并在右侧显示描述而无需 space 上下?

不确定自定义控件或 ListItem 是否有效...
或者,您也可以使用两列,每列设置 mergeDuplicates="true" 并分别显示 ImageText。那绝对有效

即:

<Table id="tbl" items="{model>/yourData}">
    <columns>
        <Column mergeDuplicates="true" mergeFunctionName="getSrc">
            <Text text="Society" />
        </Column>
        <Column mergeDuplicates="true" />
    </columns>
    <items>
        <ColumnListItem>
            <cells>
                <Image src="{model>society/flagImg}"/>
                <Text text="{model>society/description}" />
            </cells>
        </ColumnListItem>
    </items>
</Table>

您的示例中的数据尚未准备好合并重复(根据您显示的内容,不会合并任何内容),但我进行了猜测并设置了一些可能相似的测试数据。您或许可以查看使用具有图标和文本的 ObjectAttribute,如该代码段所示。

sap.ui.xmlview("main", {
 viewContent: jQuery("#view-main").html()
})
.setModel(new sap.ui.model.json.JSONModel({
    records : [
        { icon : "http://www.flags.net/images/smallflags/ANTA0001.GIF", text : "Delete", comment : "delete" },
        { icon : "http://www.flags.net/images/smallflags/ANBA0001.GIF", text : "Delete", comment : "negative" },
        { icon : "http://www.flags.net/images/smallflags/ANDR0001.GIF", text : "Remove", comment : "sys-minus" }
    ]
}))
.placeAt("content");
<script src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js" id="sap-ui-bootstrap" data-sap-ui-libs="sap.m" data-sap-ui-theme="sap_bluecrystal" data-sap-ui-xx-bindingSyntax="complex"></script>
<div id="content"></div>

<script id="view-main" type="ui5/xmlview">
 <mvc:View
  displayBlock="true"
  xmlns:mvc="sap.ui.core.mvc"
  xmlns="sap.m">
  <Table
            items="{/records}">
            <columns>
                <Column mergeDuplicates="true"><Label text="Icon" /></Column>
                <Column><Label text="Comment" /></Column>
            </columns>
            <items>
                <ColumnListItem>
                    <cells>
                        <ObjectStatus
                            text="{text}"
                            icon="{icon}" />
                        <Text text="{comment}" />
                    </cells>
                </ColumnListItem>
            </items>
        </Table>
 </mvc:View>
</script>