javascript - 检查 primefaces 中的数据表是否为空

标签 javascript jquery jsf primefaces datatable

我在 primefaces 中有一个带有 jsf 的数据表,我需要用 jquery/js 检查数据表何时为空,但我刚刚找到了不适用于 PF 的“普通”数据表的标签。

bean

private ArrayList<Curso> curs = null;
private ArrayList<Curso> listado_filtrado;
private DefaultStreamedContent informe_cursos;

HTML

<p:outputPanel id="opTabla" >
		<p:dataTable id="tabla_elements"   
	              		value="#{Cursos.curs}"
	              		var="element"
	              		filteredValue="#{Cursos.listado_filtrado}"
	              		emptyMessage="No se encontraron elementos"
			            paginator="true" rows="20"  	
						currentPageReportTemplate="{startRecord} a {endRecord} de {totalRecords}"
					    paginatorTemplate="{FirstPageLink} {PreviousPageLink} {CurrentPageReport} {NextPageLink} {LastPageLink}"  
			            paginatorPosition="bottom">
		         	   	 
		         	    <p:ajax event="filter" update="exportar"/>
		         	   	<f:facet name="header">
		         	   		<div class="header-field-col">
	         						<p:commandButton id="anadir_curso" value="Añadir curso nuevo" icon="ui-icon-plus" />
	         				</div>
	         				<div class="header-field-col">	
	         							
	         					<p:commandButton id="exportar" value="Exportar" ajax="false" disabled="#{empty Cursos.curs}"  
	         									icon="ui-icon-arrowreturnthick-1-s">
	         						<p:fileDownload value="#{Cursos.informeCursos}" />	         						
	         					</p:commandButton>
	         					
							</div>
		         	   	</f:facet>	

最佳答案

您的p:dataTable很可能引用了一个列表。向其中添加 ajax 事件处理程序,例如过滤器(所有可以使页面变空的过滤器)

<p:dataTable value="#{myBean.myList}"...>
    <p:ajax event="filter" update="exportButton" ... >
    ...
</p:dataTable>

使用带有 disabled 属性的 p:commandButton,如下所示:

<p:commandButton id="exportButton" value="export" disabled="#{empty myBean.myList}" ... />

如果列表为空,它会禁用命令按钮客户端服务器端。因此用户也无法在客户端破解它。

commandButton 中的“update”元素可确保按钮状态,嗯,...根据相关事件进行更新。这是相当基本的 ajax 内容,也许可以阅读一些相关教程

关于javascript - 检查 primefaces 中的数据表是否为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44525080/

相关文章:

javascript - 当高度/宽度从像素切换到百分比时图像消失?

javascript - 简单的 OpenLayers 函数在 jQuery 函数中不起作用

java - 带有错误 java.lang.String 的 selectonemenu 无法转换为 javax.faces.model.SelectItem

java - 无法弄清楚如何解决 javax.persistence.PersistenceException

javascript - 这个 SCRIPT1002 : Syntax error in IE11 mean? (Vue) 是什么意思

javascript - 对象内部的上下文切换 - 在回调中引用 'this'

javascript - 为什么我无法让 Progressbar.js 在 Jquery 中工作?

java - Hibernate 类级别验证

javascript - 将 import.io 与鼠标悬停文本一起使用

javascript - CSS Scroll Snap 获取事件元素