私はシンプルなテーブル[フォーム:tabView:remTNtableID]を文字列リストCFSnumbers
で作成し、ボタンをクリックするとgetTelephoneNumbers()
と呼びます。 。RequestContext.getCurrentInstance()。更新がすぐにレンダリングされない
私は待っている間にテーブルの "Loading .."を表示させたいので、リストをクリアして、リストに "Loading .."を追加し、RequestContext.getCurrentInstance()を呼び出しました。 "form:tabView:remTNtableID")。
テーブルはすぐには更新されません。「ロード中」は表示されず、getTelephoneNumbers()
コールが終了してテーブルが更新された場合に限ります。
どうしたのですか?テーブルを強制的に再レンダリングさせるにはどうすればよいですか?
private List<String> CFSnumbers;
@PostConstruct
public void init() throws GuiException {
CFSnumbers = new ArrayList<String>();
}
public void getTelephoneNumbers() throws GuiException {
CFSnumbers.clear();
CFSnumbers.add("Loading..");
RequestContext.getCurrentInstance().update("form:tabView:remTNtableID");
try {
...
CFSnumbers = ...
RequestContext.getCurrentInstance().update("form:tabView:remTNtableID");
} catch (Exception e) {
CFSnumbers.clear();
RequestContext.getCurrentInstance().update("form:tabView:remTNtableID");
}
は、あなたの 'Loading'のための別の解決策を作るに興味を持っていますか?!? –
@ YagamiLight uuh、何? 私のテーブルが空になると、 "No records"と表示されます。 ボタンをクリックして「読み込み中」と表示したいときは、テーブルを埋める番号を取得するための呼び出しが返されてから数秒後に番号のリストが表示されます。 これは「No records。」から始まり、「No records」にとどまります。数秒間、そして呼が終了すると、番号のリストが表示されます。 – WurmD
この記事を参照してくださいAjaxStatus http://stackoverflow.com/questions/39897415/can-use-ajaxstatus-while-the-next-page-is-loading/39897555#39897555 –