アカウント番号と2つの日付フィールドを保持するドロップダウンがあります。ドロップダウンの値を変更した場合、日付フィールドをリセットしたい。これらのフィールド(アカウント番号、日付から日付まで)を使用してクエリを実行する検索ボタンもあります。
<fieldset>
<p:selectOneMenu id="account_search" value="#{accountHistoryBean.account}" converter="accountConverter">
<f:attribute name="itemsList" value="#{accountHistoryBean.userAccounts}"/>
<f:selectItems value="#{accountHistoryBean.userAccounts}" var="account" itemLabel="#{account.number}" itemValue="#{account}"/>
<p:ajax update="start_date_search, end_date_search" event="change" actionListener="#{accountHistoryBean.resetDates}" process="account_search"/>
</p:selectOneMenu>
<fieldset>
<fieldset>
<p:calendar value="#{accountHistoryBean.fromDate}" id="start_date_search" pattern="dd/MM/yyyy"/>
</fieldset>
<fieldset>
<p:calendar value="#{accountHistoryBean.toDate}" id="end_date_search" pattern="dd/MM/yyyy"/>
</fieldset>
<fieldset>
<p:commandLink styleClass="regular_button" action="#{accountHistoryBean.search}" update=":search :accountHistoryList :accountHistoryList:accountHistTable" >
<span>#{msj.search}</span>
</p:commandLink>
</fieldset>
私が次のことをした場合:
- 「日付から」および「日付まで」フィールドを変更します
- アカウントフィールドを変更します(ajaxのドロップダウン)。
その後、日付はデフォルト値にリセットされます。
しかし、私が次のことをした場合:
- 「FromDate」および「toDate」フィールドをDATEXおよびDATEYに変更します
- 検索を押す
- 「FromDate」および「toDate」フィールドをDATEX2およびDATEY2に変更します
- アカウントフィールドを変更します(ajaxのドロップダウン)。
次に、[日付]フィールドをDATEXおよびDATEY(デフォルト値ではない)に変更します。
Beanのメソッドは次のとおりです。
public void resetDates()
{
Calendar calendar = GregorianCalendar.getInstance();
//By default set toDate as 3/3
calendar.set(Calendar.MONTH, 2);
calendar.set(Calendar.DAY_OF_MONTH, 3);
toDate = calendar.getTime();
//By default fromDate is one month earlier
calendar.setTime(toDate);
calendar.add(Calendar.MONTH, -1);
fromDate = calendar.getTime();
}
public String search(){
//Just update the filters
lazyDataEntityModel.setUpdateData(true);
return null;
}
何か助けはありますか?