私はjsfでプライムフェイスでデータテーブルを持っています。データテーブルがjquery/jsで空であることを確認する必要がありますが、 PFでプライマリでデータテーブルが空であることを確認
豆
private ArrayList<Curso> curs = null;
private ArrayList<Curso> listado_filtrado;
private DefaultStreamedContent informe_cursos;
Htmlの
<p:outputPanel id="opTabla" >
\t \t <p:dataTable id="tabla_elements"
\t \t \t value="#{Cursos.curs}"
\t \t \t var="element"
\t \t \t filteredValue="#{Cursos.listado_filtrado}"
\t \t \t emptyMessage="No se encontraron elementos"
\t \t \t paginator="true" rows="20" \t
\t \t \t \t \t \t currentPageReportTemplate="{startRecord} a {endRecord} de {totalRecords}"
\t \t \t \t \t paginatorTemplate="{FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"
\t \t \t paginatorPosition="bottom">
\t \t \t \t
\t \t \t <p:ajax event="filter" update="exportar"/>
\t \t \t \t <f:facet name="header">
\t \t \t \t \t <div class="header-field-col">
\t \t \t \t \t \t \t <p:commandButton id="anadir_curso" value="Añadir curso nuevo" icon="ui-icon-plus" />
\t \t \t \t \t </div>
\t \t \t \t \t <div class="header-field-col"> \t
\t \t \t \t \t \t \t \t
\t \t \t \t \t \t <p:commandButton id="exportar" value="Exportar" ajax="false" disabled="#{empty Cursos.curs}"
\t \t \t \t \t \t \t \t \t \t icon="ui-icon-arrowreturnthick-1-s">
\t \t \t \t \t \t \t <p:fileDownload value="#{Cursos.informeCursos}" /> \t \t \t \t \t \t \t
\t \t \t \t \t \t </p:commandButton>
\t \t \t \t \t \t
\t \t \t \t \t \t \t </div>
\t \t \t \t </f:facet> \t
メッセージだけを表示したい場合は、データテーブルが空で、レコードを含まない場合はいつでも、「emptyMessage」という名前の属性を使用できます。 – Tiny
いいえ、テーブルが空のときにエクスポートコマンドボタンを無効にする必要があります –
次に、dataTableの値で使用されているのと同じ 'list'を取りますが、空のチェックを追加する無効な属性をcommandButtonに追加します。 – Kukeltje