在下面的列表框中,我的listcell包含"选择"和"标签"零件。因此,即使listheader应用了sort =" auto",它实际上也没有用。无论如何
<listbox id="idResultListBox" checkmark="true" vflex="1" >
<listhead>
<listheader
label="${ labels.result.result }" sort="auto"/>
<listheader
label="${ labels.result.resultEnteredBy }" sort="auto"/>
<listheader
label="${ labels.result.resultEnteredOn }" sort="auto"/>
<listheader
label="${ labels.result.resultAuditedBy }" sort="auto"/>
</listhead>
<listitem
forEach="${attAuditResultList }"
value="${each }"
disabled="${ displayMode!='view' and each.auditedDate!=null }"
checkable="${ each.auditedDate==null }">
<listcell>
<select value="${ each.result }" options="${ resultTypeList }"
if="${ each.auditedDate==null }" visible="${ each.auditedDate==null and displayMode!='view' }"
/>
<label value="${ each.result.name }"
visible="${ each.auditedDate!=null or displayMode=='view' }" forward="onCreate=onCreateResultLabel()"/>
</listcell>
<listcell>
<activeassessor if="${ each.auditedDate==null }" value="${ each.enteredBy }"
/>
<label value="${ each.enteredBy.name }"
visible="${ each.auditedDate!=null }" />
</listcell>
<listcell
label="${ each.enteredDateAsString }" />
<listcell label="${ each.auditedBy.name }" />>
</listitem>
</listbox>
答案 0 :(得分:0)
您正在使用sort="auto"
对对象进行排序
他没有正确排序是正常的,因为你没有说明要排序的内容。
<listheader sort="auto" />
不区分大小写。<listheader sort="auto(name)" />
在object.name <listheader sort="auto(LOWER(name))" />
在object.name 因此,对于第二个单元格,如果要对enteredBy.name
不区分大小写进行排序,则需要执行以下操作:
<listheader label="${ labels.result.resultEnteredBy }" sort="auto(LOWER(enteredBy.name))"/>