Form customizado com tabela (grade)


#1

Bom dia.
Precisei desenvolver um form diferente dos padrões do Adempiere, mas estou tentando não fugir muito da API dele.
Este form tem basicamente 3 campos que podem ser combinados de diferentes formas para filtrar os resultados de uma tabela do banco de dados em uma grade. Se nenhum dos campos for preenchido, todos os resultados da tabela aparecem na grade (situação inicial).
Para os campos eu utilizei CComboBoxes e para a grade utilizei o GridController. Bom, a primeira pergunta é se essa é realmente a melhor forma de fazer. :slight_smile:
O meu problema é que não consigo atualizar os resultados da grade depois da primeira exibição. Se chamar o initGrid sem definir uma whereClause, aparecem corretamente todos os resultados da tabela. Porém, quando altero a whereClause no tratamento de eventos dos CComboBoxes, a grade não é atualizada. Já tentei chamar o método dataRefreshAll do GridTab, o método query do GridController, criar uma nova MQuery e atribuir ao GridController e mais outras coisas que não lembro bem.
Alguém sabe o que eu tenho que fazer para mudar/filtrar os resultados da grade do GridController após a primeira exibição? Ou é melhor não utilizar o GridController e tratar “no braço” com uma JTable?

Obrigado!


#2

de uma olha da classe do adempierelbr

client/src/org.adempierelbr.apps.form - VFormBoleto.java

acho que ali vc consegue tirar várias dúvidas de como utilizar o refresh e atualização de registros ao trocar os parâmetros de busca


#3

Verifiquei a classe que você indicou. Deixei de lado o que eu estava tentando fazer com o GridController e utilizei o pacote org.compiere.minigrid.
Resolveu meu problema. :smiley:

Obrigado,
Marcelo Monsores