当primefaces数据表列标题用于过滤和排序时,它工作正常.我想将列组添加到标题,但在这种情况下,过滤和排序似乎不可能.有没有解决方法?
<p:dataTable id="tb1" value="#{hrReportController.staffShiftHistorys}" var="ss"
rows="20"
paginator="true"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="10,20,50"
>
<f:facet name="header">
<h:outputLabel value="Shift Amendments" style="font-size: 20px " />
</f:facet>
<p:columnGroup type="header">
<p:row>
<p:column rowspan="2" headerText="Changed at" sortBy="#{ss.createdAt}"/>
<p:column rowspan="2"
headerText="Changed by"
sortBy="#{ss.creater.webUserPerson.name}"
filterBy="#{ss.creater.webUserPerson.name}"
filterMatchMode="contains"
/>
<p:column colspan="4" headerText="Changed from" />
<p:column colspan="4" headerText="Changed to" />
</p:row>
<p:row>
<p:column headerText="Code"
sortBy="#{ss.staff.code}"
filterBy="#{ss.staff.code}"
filterMatchMode="contains"/>
<p:column headerText="Name"
sortBy="#{ss.staff.person.nameWithTitle}"
filterBy="#{ss.staff.person.nameWithTitle}"
filterMatchMode="contains"/>
<p:column headerText="Roster"
sortBy="#{ss.roster.name}"
filterBy="#{ss.roster.name}"
filterMatchMode="contains"/>
<p:column headerText="Shift"
sortBy="#{ss.shift.name}"
filterBy="#{ss.shift.name}"
filterMatchMode="contains"/>
<p:column headerText="Code"
sortBy="#{ss.staffShift.staff.code}"
filterBy="#{ss.staffShift.staff.code}"
filterMatchMode="contains"/>
<p:column headerText="Name"
sortBy="#{ss.staffShift.staff.person.nameWithInitials}"
filterBy="#{ss.staffShift.staff.person.nameWithInitials}"
filterMatchMode="contains"/>
<p:column headerText="Roster"
sortBy="#{ss.staffShift.roster.name}"
filterBy="#{ss.staffShift.roster.name}"
filterMatchMode="contains"/>
<p:column headerText="Shift"
sortBy="#{ss.staffShift.shift.name}"
filterBy="#{ss.staffShift.shift.name}"
filterMatchMode="contains"/>
</p:row>
</p:columnGroup>
<p:column headerText="Changed At" >
<f:facet name="header">
<h:outputLabel value="Changed At"/>
</f:facet>
<p:outputLabel value="#{ss.createdAt}" >
<f:convertDateTime pattern="dd MMM yy- hh:mm a" ></f:convertDateTime>
</p:outputLabel>
</p:column>
<p:column >
<f:facet name="header">
<h:outputLabel value="Changed by"/>
</f:facet>
<p:outputLabel value="#{ss.creater.webUserPerson.name}" ></p:outputLabel>
</p:column>
<p:column >
<f:facet name="header">
<h:outputLabel value="Code"/>
</f:facet>
<p:outputLabel value="#{ss.staff.code}" ></p:outputLabel>
</p:column>
<p:column >
<f:facet name="header">
<h:outputLabel value="Name"/>
</f:facet>
<p:outputLabel value="#{ss.staff.person.nameWithTitle}" ></p:outputLabel>
</p:column>
<p:column >
<f:facet name="header">
<h:outputLabel value="Roster"/>
</f:facet>
<p:outputLabel value="#{ss.roster.name}" ></p:outputLabel>
</p:column>
<p:column >
<f:facet name="header">
<h:outputLabel value="Shift"/>
</f:facet>
<p:outputLabel value="#{ss.shift.name}" ></p:outputLabel>
</p:column>
<p:column >
<f:facet name="header">
<h:outputLabel value="Code"/>
</f:facet>
<p:outputLabel value="#{ss.staffShift.staff.code}" ></p:outputLabel>
</p:column>
<p:column >
<f:facet name="header">
<h:outputLabel value="Name"/>
</f:facet>
<p:outputLabel value="#{ss.staffShift.staff.person.nameWithInitials}" ></p:outputLabel>
</p:column>
<p:column >
<f:facet name="header">
<h:outputLabel value="Roster"/>
</f:facet>
<p:outputLabel value="#{ss.staffShift.roster.name}" ></p:outputLabel>
</p:column>
<p:column >
<f:facet name="header">
<h:outputLabel value="Shift"/>
</f:facet>
<p:outputLabel value=" #{ss.staffShift.shift.name}" ></p:outputLabel>
</p:column>
</p:dataTable>
Run Code Online (Sandbox Code Playgroud)