Hello people!
Tenho um formulario em ZK para pesquisar livros. um dos campos do formulario e Titutlo (pesquisa por titulo), identificado pelo id=txtTitulo. Eu gostaria que ao escrever “Java 7” (e titulo de um livro que existe na minha base de dados) ele me mostrasse os atributos do objecto todo,isto e, todos os livros com esse titulo.
Para tal, tenho uma classe “PesquisarLivroController” onde implemento os eventos dos butoes desse formulario.
A minha classe Livro tem um atributo titulo. Entao, livro.getTitulo().equals(txtTitulo) deve mostrar esse livro.
Aqui esta o meu controller do formulario em causa
[code]public class PesquisaLivroController extends GenericForwardComposer {
private static final long serialVersionUID = 1L;
private Textbox txtTitulo;
private Textbox txtAutor;
private Textbox txtISBN;
private Textbox txtAreaAplicacao;
private Textbox txtDescricao;
private Listbox lbxLista;
private Window window;
public void onClick$btnPesquisar(Event event) {
try {
pesquisarLivro();
// limpar();
} catch (SQLException e) {
e.printStackTrace();
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private void pesquisarLivro() throws SQLException, InterruptedException {
LivroDAO livroDAO = new LivroDAO();
ArrayList<Livro> livros = (ArrayList<Livro>) livroDAO.findAll();
Livro livro = new Livro();
if (livros.contains(livro.getTitulo().equalsIgnoreCase(txtTitulo.getText()))) {
JOptionPane.showMessageDialog(null, txtTitulo.getText() + "Existe no Stock");
listar();
}
Messagebox.show("Operacao efectuada com Sucesso");
}
private void listar() throws SQLException {
Listhead listhead = lbxLista.getListhead();
lbxLista.getItems().clear();
lbxLista.appendChild(listhead);
LivroDAO livroDAO = new LivroDAO();
ArrayList<Livro> Livros = (ArrayList<Livro>) livroDAO.findAll();
for (Livro livro : Livros) {
Listitem item = new Listitem();
Listcell titulo = new Listcell(livro.getTitulo());
Listcell autor = new Listcell(livro.getAutor());
Listcell isbn = new Listcell(livro.getIsbn());
Listcell preco = new Listcell(livro.getPreco() + "");
Listcell ano = new Listcell(livro.getAno() + "");
Listcell descricao = new Listcell(livro.getDescricao());
Listcell cidade = new Listcell(livro.getCidade());
Listcell catgoria = new Listcell(livro.getCategoria());
item.appendChild(titulo);
item.appendChild(autor);
item.appendChild(isbn);
item.setValue(livro);
lbxLista.appendChild(item);
}
}
}
[/code]
Aqui vai o formulario
[code]<?page title="Pesquisa de Livro" contentType="text/html;charset=UTF-8"?>
Area de Aplicaco
</listhead>
</listbox>
<div height="10px" />
<hbox>
<button id="btnPesquisar" label="Pesquisar" onClick="" />
<button id="btnEditar" label="Editar" onClick="" />
<button label="Cancelar" onClick="" />
<button id="btnVender" label="Vender" onClick="" />
<div width="140px" />
<button id="btnFechar" label="Fechar" onClick="" />
</hbox>
</window>
[/code]
Thank you!