Hide Primefaces datatable 'No Records Found' while loading the table content

后端 未结 2 1947
甜味超标
甜味超标 2020-12-21 10:47

In my application im loading my data table with default values which placed in first page(After Logged in).while loading data,data table prompts \'No Record Found\' which is

相关标签:
2条回答
  • 2020-12-21 11:03

    Not Tested

    I suppose you got some button that is being clicked prior to loading data of the table

    so you can add jquery command to hide the row that holds the message for the empty message to its onclick attribute like this

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

    you can than

    put the line back to visible with jQuery('#YourFormIdOrYourTableId .ui-datatable-empty-message').show();

    alternatively, if you are using primefces button you can try

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

    calling to the .show() upon success is for enabling the table to display the empty message next time when the table will be empty...

    0 讨论(0)
  • 2020-12-21 11:27

    I know it's a bit obvious, but as you display default values anyway, you could set emptyMessage="" in your <p:dataTable>.

    However, if you need an emptyMessage to be displayed later (e.g. when user-specific data is to be loaded), you could "disable" it upon first load using something like this:

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

    where firstLoad would be a method in your backing bean which returns true when the user has just logged in (e.g. default values are to be loaded), and false when not, which would mean that user-specific data should be loaded and the <p:dataTable> could actually be empty.

    0 讨论(0)
提交回复
热议问题