加载表格内容时,隐藏Primefaces数据表“找不到记录”

时间:2012-08-26 18:15:35

标签: jsf datatable primefaces

在我的应用程序中使用默认值加载我的数据表,该默认值放在第一页(登录后)。加载数据时,数据表会提示“No Record Found”,这对用户来说很困惑。我是否隐藏了这一点正在加载?

enter image description here

2 个答案:

答案 0 :(得分:6)

我知道这有点显而易见,但是当您显示默认值时,您可以在emptyMessage=""中设置<p:dataTable>

但是,如果您需要稍后显示emptyMessage(例如,当要加载用户特定数据时),您可以在首次加载时使用以下内容“禁用”它:

emptyMessage="#{dataBean.firstLoad ? '' : 'No records found.'}"

其中firstLoad将是您的支持bean中的一个方法,当用户刚刚登录时返回true(例如,要加载默认值),而false则不是,这意味着应该加载特定于用户的数据,而<p:dataTable>实际上可能是空的。

答案 1 :(得分:1)

未经测试

我想你在加载表格数据之前点击了一些按钮

所以你可以添加jquery命令来隐藏包含空消息消息的行到它的onclick属性,如下所示

onclick="jQuery('#YourFormIdOrYourTableId .ui-datatable-empty-message').hide();"

你可以

使用jQuery('#YourFormIdOrYourTableId .ui-datatable-empty-message').show();

将该行重新显示为可见

或者,如果您使用的是primefces按钮,则可以尝试

onstart="jQuery('#YourFormIdOrYourTableId .ui-datatable-empty-message').hide();"

onsuccess="jQuery('#YourFormIdOrYourTableId .ui-datatable-empty-message').show();"

成功时调用.show()是为了让表在下次表空时显示空消息...