Boa noite sou iniciante em programção gostaria de uma ajuda sobre como fazer para um relatorio do ireport seja preenchido atraves de uma caixa de texto que o usuario ira digitar e nao popular o relaotorio atraves do banco de dados alguem poderia me ajudar com essa linhas de comando estou utilizando o netbeans18 e o ireport 5.6
- Crie os parâmetros no iReport: Primeiro, no seu relatório do iReport, você precisa criar os parâmetros que serão preenchidos pelo usuário. Você pode fazer isso na seção “Parameters” no iReport.
- Adicione um campo de texto no relatório: Adicione um campo de texto no seu relatório onde você deseja que os dados inseridos pelo usuário sejam exibidos.
- Associe o parâmetro ao campo de texto: No campo de texto que você adicionou, você pode definir a expressão para que ele seja preenchido com o valor do parâmetro que você criou.
- Crie um formulário ou interface para que o usuário insira os dados: Fora do iReport, você precisará criar uma interface onde o usuário poderá inserir os dados. Isso pode ser feito em uma aplicação Java, por exemplo, usando componentes de interface gráfica como JTextField para a entrada de texto.
- Capture os dados do usuário e passe para o relatório: Depois que o usuário inserir os dados na interface que você criou, você precisa capturá-los na sua aplicação e passá-los para o relatório. Isso envolverá a configuração do relatório para aceitar os dados dos parâmetros e, em seguida, preencher os parâmetros com os valores inseridos pelo usuário.
- Renderize e exiba o relatório: Finalmente, você renderizará o relatório com os dados fornecidos pelo usuário e o exibirá na sua aplicação.
Exemplo:
public class RelatorioJFrame extends JFrame {
public static void main(String[] args) {
RelatorioJFrame frame = new RelatorioJFrame();
frame.setVisible(true);
}
private JTextField textField;
public RelatorioJFrame() {
setTitle("Exemplo de Relatório");
setSize(300, 200);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JPanel panel = new JPanel();
getContentPane().add(panel, BorderLayout.CENTER);
panel.setLayout(new BorderLayout());
textField = new JTextField();
panel.add(textField, BorderLayout.CENTER);
JButton btnGerarRelatorio = new JButton("Gerar Relatório");
btnGerarRelatorio.addActionListener(e -> gerarRelatorio());
panel.add(btnGerarRelatorio, BorderLayout.SOUTH);
}
private void gerarRelatorio() {
// Obtenha o conteúdo do campo de texto
String texto = textField.getText();
try {
// Crie um mapa de parâmetros para passar para o relatório
Map<String, Object> parametros = new HashMap<>();
parametros.put("textoRelatorio", texto); // "textoRelatorio" é o nome do parâmetro no iReport
// Carregue e preencha o relatório com os parâmetros
JasperPrint jasperPrint = JasperFillManager.fillReport("caminho/do/seu/relatorio.jasper", parametros);
// Exiba o relatório em uma visualização
JasperViewer.viewReport(jasperPrint, false);
} catch (Exception e) {
e.printStackTrace();
}
}
}
2 curtidas
Muito obrigado amigo funcionou perfeito vlw
1 curtida