DataTable sem carregar a lista

Dae galera, tudo certo?
Bem, estou desenvolvendo minha aplicação, ( baseada em uma biblitoeca com cadastros de materiais, retiradas, devoluções, etc) e nela, tenho filtros.
Além disso, tenho uma datatable que é carregada pela minha lista. Porém, aparecem TODOS os cadastros dessa lista na minha dataTable, e eu SOMENTE QUERIA que aparecesse o cadastro que o usuário filtrou após CLICAR NO CONSULTAR.
Abaixo estou postando a Datatable juntamente com o Filtro.
Se alguém puder ajudar, agradeço.

<p:tab title="Listagem" id="tabList">

                            <p:panel header="Filtros de Consulta" id="parametros" toggleable="true" collapsed="true">
                                <treap:msgdica msg="Informe um parâmetro para a consulta. Deixe os campos em branco para exibir todos os registros."/>
                                <p:growl id="grow1" life="4000"/>

                                <table border="0" cellpadding="2" cellspacing="0" style="margin-right: 40px">
                                    <tr>
                                        <td align="right">Descrição:</td>
                                        <td>
                                            <p:inputText size="20" value="#{tipoMaterialJsfBean.tipoDescricao}"/><br/><br/>
                                        </td>
                                    </tr>      
                                    <tr>
                                        <td>
                                            <p:commandButton actionListener="#{tipoMaterialJsfBean.atualizar}" value="Consultar" update="@form" process="parametros" image="search"/>                                                                    
                                        </td></tr>
                                </table>

                                <p:ajaxStatus style="position: fixed; top: 40%; left: 35%; background-color: #ffffff">
                                    <f:facet name="start">
                                        <p:graphicImage value="/resources/img/ajaxloadingbar.gif" /><br/>
                                        <p:spacer width="3"/> Processando...
                                    </f:facet>
                                    <f:facet name="complete">
                                        <h:outputText value="" />
                                    </f:facet>
                                </p:ajaxStatus>

                            </p:panel><br/>

                            <treap:btnCrudNovo bean="#{tipoMaterialJsfBean}" visivel="#{sec:ifAnyGranted('ADM')}"/>
                            <treap:btnCrudAtualizar id="btnAtualizar" bean="#{tipoMaterialJsfBean}"/>
                            <treap:btnRelatorio metodo="#{tipoMaterialJsfBean.geraRelatorioTipoMaterialPDF()}"/>
                            <p:dataTable id="tabela1" value="#{tipoMaterialJsfBean.tipoMaterialList}" var="item" emptyMessage="Nenhum registro encontrado." paginator="true" rows="25"  pageLinks="10"
                                         paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} Registros por página: {RowsPerPageDropdown}"
                                         rowsPerPageTemplate="15,25,35,50" lazy="true">
                                <f:facet name="header">
                                    #{tipoMaterialJsfBean.tipoMaterialList.rowCount} registros encontrados.
                                </f:facet>
                                <p:column headerText="Código" style="width:07%">
                                    #{item.tipoCodigo}  
                                </p:column>              
                                <p:column headerText="Descrição">
                                    #{item.tipoDescricao}  
                                </p:column>   

                                <p:column headerText="Ações" style="width:06%">
                                    <treap:btnCrudEditar bean="#{tipoMaterialJsfBean}" visivel="#{sec:ifAnyGranted('ADM')}"/>
                                    <treap:btnCrudExcluir bean="#{tipoMaterialJsfBean}" visivel="#{sec:ifAnyGranted('ADM')}"/>
                                </p:column>
                            </p:dataTable>                        
                        </p:tab>

O problema não está na tela, está na busca que você faz para atender ao filtro.
Quando você faz a busca, deve restringir o conteúdo da lista que contém os valores da datatable ao(s) resultado(s) que foram obtidos ao filtrar.

[quote=drsmachado]O problema não está na tela, está na busca que você faz para atender ao filtro.
Quando você faz a busca, deve restringir o conteúdo da lista que contém os valores da datatable ao(s) resultado(s) que foram obtidos ao filtrar.[/quote]

Quer que eu mande o meu Bean ou meus filtros para você olhar?

Faça um debug e veja se pelo menos essa consulta é realizada com sucesso e se traz realmente o que voce quer, pra depois analisar se o problema é na view.

Sim, a consulta é realizada com sucesso, a tela está certa, eu só quero que quando o usuário ABRA A TELA , que a mesma não venha já com os dados da LISTA CARREGADOS, e que venha a dataTable vazia. E somente, depois que o usuário fizer a consulta… que aí sim apareça oke foi pesquisado.
Volto a destacar: o filtro e as consultas, lista em si está tudo correto, só quando abre a tela a TABELA DEVE VIR VAZIA.

tipoMaterialList é uma variavel ?

se sim, basta chama-la, e quando o usuario clicar em consultar, voce chama um metodo que popula essa variavel.

é a lista propriamente dita, com os elementos que foram gravados no banco de dados.

[code]private LazyDataModel tipoMaterialList;

//

tipoMaterialList = new LazyDataModel() {

        @Override
        public List<TipoMaterial> load(int first, int pageSize, String sortField, SortOrder sortOrder, Map<String, String> filters) {
            return m.listaTipoMaterialPaginada(montaParametros(), first, pageSize, sortField, sortOrder);
        }
    };
    tipoMaterialList.setRowCount(m.listaTipoMaterialCount(montaParametros()));

//

// service

@Interceptors(AuditInterceptor.class)
public List listaTipoMaterialPaginada(Map<String, Object> parametros, int first, int pageSize, String sortField, SortOrder sortOrder) {
log.debug("########### sortField: " + sortField);
log.debug("########### sortOrder: " + sortOrder);
String orderBy = ServiceUtil.montaOrderBy(sortField, true, PREFIXO_OBJETO);
FiltrosConsulta filtros = criaFiltros(parametros);
return crudService.executeQuery(QUERY_TipoMaterial, orderBy, first, pageSize, filtros, null);
}
[/code]

att. Ricardo

Tente instanciar o lazyDataModel somente quando clicar no botao consultar.

Antes disso, passe um arraylist vazio.