我有一张地图List<Map<String,Object>>
列表,列表中的每张地图都有相同的键
我想在顶点显示这些数据:数据表中的映射键为列标题,每个值对应于键作为行值。
请注意,由于某些响应式样式问题,我不想使用<table>
和<apex:repeat>
。
我创建了apex:datatable
,但列标题未显示
这是我的代码
<apex:dataTable value="{!myMapList}" var="data" >
<apex:repeat value="{!data}" var="result">
<apex:column >
<apex:facet name="header">{!result}</apex:facet>
{!data[result]}
</apex:column>
</apex:repeat>
</apex:dataTable>
答案 0 :(得分:1)
使用控制器中地图的键值创建一个列表:
List<String> ketValues = yourMap.keySet();
之后,在visualforce代码的重复代码中使用该列表:
<apex:repeat value="{!ketValues }" var="key">
<apex:column headerValue="{!key}">
<apex:outputText value="{!yourMap[key]}"/>
</apex:column>
</apex:repeat>