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"
并分别显示 Image
和 Text
。那绝对有效
即:
<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>
我有一个 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"
并分别显示 Image
和 Text
。那绝对有效
即:
<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>