使用primefaces的日历组件筛选数据表
我正在使用JSF2.2、Primefaces 6.0,并尝试使用Primefaces的日历组件对数据表进行排序。问题是:当我开始使用特定日期筛选datatable时,datatable的所有值都将消失,而不是显示正确的值 xhtml代码:使用primefaces的日历组件筛选数据表,primefaces,datatable,calendar,jsf-2.2,Primefaces,Datatable,Calendar,Jsf 2.2,我正在使用JSF2.2、Primefaces 6.0,并尝试使用Primefaces的日历组件对数据表进行排序。问题是:当我开始使用特定日期筛选datatable时,datatable的所有值都将消失,而不是显示正确的值 xhtml代码: <p:dataTable value="#{demandeBean.allDemandes}" var="a" id="t1" sortMode="multiple" widgetVar="tt" editabl
<p:dataTable value="#{demandeBean.allDemandes}" var="a" id="t1"
sortMode="multiple" widgetVar="tt" editable="true" editMode="cell"
selectionMode="single" rowKey="#{a.id}"
emptyMessage="Aucune demande" rows="10" paginator="true"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="10,15,25" draggableColumns="true"
scrollable="true" scrollHeight="250" paginatorPosition="bottom">
<p:ajax event="rowSelect" listener="#{demandeBean.onRowSelect}"
oncomplete="PF('d2').show()" update=":form:d2" />
<p:ajax event="cellEdit" listener="#{demandeBean.onCellEdit}"
update=":form:t1" />
<p:column headerText="Date dépot" sortBy="#{a.dateDeDepot}" filterBy="#{a.dateDeDepot}" filterMatchMode="contains">
<f:facet name="filter">
<p:calendar id="cal1" pattern="dd/MM/yyyy">
<p:ajax event="dateSelect" oncomplete="PF('tt').filter()" update="t1" />
<p:ajax event="change" execute="@this" oncomplete="PF('tt').filter()" update="t1" />
</p:calendar>
</f:facet>
<h:outputText value="#{a.dateDeDepot}">
<f:convertDateTime pattern="dd/MM/yyyy HH:mm:ss"
timeZone="GMT+1:00" />
</h:outputText>
</p:column>
下面是javaBean代码:
@ManagedBean
@ViewScoped
public class DemandeBean {
private List<String> images = new ArrayList<>();
private String matriculeForAdminToAdd;
private List<DetailDemande> detailDemandesTMP = new ArrayList<>();
private ActeMedical acteMedical = new ActeMedical();
private List<ActeMedical> acteMedicalsToAdd = new ArrayList<>();
private Integer idOf;
private List<Demande> allDemandes = new ArrayList<>();
private List<Demande> allDemandesParAssures = new ArrayList<>();
private List<Demande> allDemandesParEmployer = new ArrayList<>();
private Demande demande = new Demande();
private Demande demandeSelectionnee = new Demande();
private List<String> etats = new ArrayList<>();
private List<String> etatsDemande = new ArrayList<>();
private String etatChoisi = "";
private Date dateActe;
private Double montant;
private ActeMedical acteMedicalSelection = new ActeMedical();
private List<ActeMedical> acteMedicals = new ArrayList<>();
private List<Assure> assuresParEmployee = new ArrayList<>();
private Map<String, String> parentes = new HashMap<String, String>();
private int sizeDemands;
private int sizeDemandsCollaborateur;
private int sizeDemandsAssure;
@EJB
private DemandeServicesLocal demandeServicesLocal;
@EJB
private UserServicesLocal userServicesLocal;
@ManagedProperty(value = "#{identity}")
private Identity identity;
@ManagedProperty(value = "#{demandeTMP}")
private DemandeTMP demandeTMP;
@PostConstruct
public void init() {
etats.add("ENCOURS");
etats.add("ACCEPTE");
etats.add("AMODIFIER");
parentes = new HashMap<String, String>();
parentes.put("Enfant", "Enfant");
parentes.put("Conjoint", "Conjoint");
etatsDemande.add("ENCOURS");
etatsDemande.add("TRANSMISE");
etatsDemande.add("AMODIFIER");
}
public List<Demande> getAllDemandes() {
allDemandes = demandeServicesLocal.findAllDemandes();
sizeDemands = allDemandes.size();
Collections.sort(allDemandes, new Comparator<Demande>() {
@Override
public int compare(Demande d1, Demande d2) {
return d2.getDateDeDepot().compareTo(d1.getDateDeDepot());
}
});
return allDemandes;
}
@ManagedBean
@视域
公共类DemandeBean{
私有列表图像=新的ArrayList();
AdminToAdd的私有字符串矩阵;
private List detailDemandesTMP=new ArrayList();
private ActeMedical ActeMedical=新ActeMedical();
private List ActeMedicalLoadd=新建ArrayList();
私有整数idOf;
private List allDemandes=new ArrayList();
私有列表AllDemanDesparAssure=new ArrayList();
private List allDemandesParEmployer=new ArrayList();
私有需求方=新需求方();
私有需方demandecelionnee=新需方();
私有列表etats=newarraylist();
private List etatsDemande=new ArrayList();
私有字符串etatChoisi=“”;
私人约会日期;
私人双重蒙塔特;
私人ActeMedical acteMedicalSelection=新ActeMedical();
private List ActeMedical=new ArrayList();
private List=new ArrayList();
私有映射父项=新HashMap();
私人内部规模需求;
私人住宅和私人住宅;
私有int-sizedemandsure;
@EJB
私人需求设备本地需求设备本地;
@EJB
私有用户服务本地用户服务本地;
@ManagedProperty(value=“#{identity}”)
私人身份;
@ManagedProperty(value=“#{demandeTMP}”)
私人需求;
@施工后
公共void init(){
添加(“安可”);
添加(“接受”);
添加附件(“修改器”);
parentes=newhashmap();
父母。put(“儿童”、“儿童”);
父母。put(“联合”、“联合”);
添加(“ENCOURS”);
添加(“传输”);
添加(“修改器”);
}
公共列表getAllDemandes(){
allDemandes=DemanDeserDevicesLocal.findAllDemandes();
sizeDemands=allDemandes.size();
Collections.sort(allDemandes,新的Comparator(){
@凌驾
公共整数比较(需方d1、需方d2){
返回d2.getDateDeDepot().compareTo(d1.getDateDeDepot());
}
});
返回所有需求;
}
你能做一个吗?在不久的将来,我可能需要同样的功能,我想帮助你分享bean codes@ÖmerFarukKurt:bean code是一个的一部分。因此,要求这样做总是更好的。谢谢你的编辑,但这不是一个很好的选择!