私はprimefacesp:dataGrid
コンポーネントを持っており、最後のページを表示するデフォルトページとして設定したい(最初のページではありません)。これはどのように行うことができますか?
前のカスタム ボタンと次のp:dataGrid
カスタム ボタンをクリックしているときに、コンポーネントを動的に生成しようとしています。また、[前へ] をクリックすると、最初のページではなく、データ グリッドの最後のページに移動したいと考えています。
どうもありがとうございました!
私はprimefacesp:dataGrid
コンポーネントを持っており、最後のページを表示するデフォルトページとして設定したい(最初のページではありません)。これはどのように行うことができますか?
前のカスタム ボタンと次のp:dataGrid
カスタム ボタンをクリックしているときに、コンポーネントを動的に生成しようとしています。また、[前へ] をクリックすると、最初のページではなく、データ グリッドの最後のページに移動したいと考えています。
どうもありがとうございました!
バッキング Bean でコンポーネントを取得し、最初の行が表示されるように手動で設定する必要があります (これを実際に計算する必要があります)。最初の行に従って、Primefaces は表示されるページを計算します。
まずpreRenderView
、ページにイベント リスナーを追加します。
<f:metadata>
<f:event listener="#{myBean.initDatagrid}" type="preRenderView"/>
</f:metadata>
バッキング Bean でロジックを実行します。
public void initDatagrid() {
FacesContext fc = FacesContext.getCurrentInstance();
if (!fc.isPostback()) {
DataGrid dg = (DataGrid) fc.getViewRoot().findComponent("dataGrid_id");
int firstRow = initFirstRow(); // set firstRow to first row on last page that should be displayed
dg.setFirst(firstRow);
}
}