Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Bom Dia Pessoal
estou usando Hibernate no java para fazer um sistema e preciso criar setas que movem para registro anterior e Primeiro.
eu utilizo entidade para coneões e Dão um exemplo de como fiz para proximo registro e ultimo foi assim
completaForm(fornecedores.get(fornecedores.lastIndexOf(fornecedores)));
completaForm(fornecedores.get(Integer.parseInt(txtId.getText())));
teria um fistIndex ou algo semelhante?
Att
TCN
Bom Dia Amigo
bem na verdade apelei um pouco e mexi um pouco, criei um LinkedList e funcionou lindo.
vai até para compartilhamento
// criando likedlist
EntityManager em;
LinkedList<Fornecedor> fornecedores = null;
/** Creates new form CadFornecedor */
public CadFornecedor(EntityManager em) {
initComponents();
this.em = em;
carregaComboEstado();
fornecedores = new LinkedList<Fornecedor>(new DaoFornecedor(em).lista());
if (fornecedores != null) completaForm(fornecedores.getFirst());
}
//Botão que vai para primeiro registro
private void cmdPrimeiroRegistroActionPerformed(java.awt.event.ActionEvent evt) {
completaForm(fornecedores.getFirst());
}
//botão para pegar o registro anterior do Atual
private void cmdAnteriorActionPerformed(java.awt.event.ActionEvent evt) {
if (!this.txtId.getText().equals(String.valueOf(fornecedores.getFirst().getId())))
{
for (int i = Integer.parseInt(txtId.getText())-1 ; i >=0 ; i--)
{
for (Fornecedor f : fornecedores)
{
if (f.getId()== i)
{
completaForm(f);
return;
}
}
}
}
}
// botão para Proximo registro
private void cmdProximoRegistroActionPerformed(java.awt.event.ActionEvent evt) {
if (!this.txtId.getText().equals(String.valueOf(fornecedores.getLast().getId())))
{
for (int i = Integer.parseInt(txtId.getText())+1 ; i >=0 ; i--)
{
for (Fornecedor f : fornecedores)
{
if (f.getId()== i)
{
completaForm(f);
return;
}
}
}
}
}
//botão Ultimo registro
private void cmdUltimoRegistroActionPerformed(java.awt.event.ActionEvent evt) {
completaForm(fornecedores.getLast());
Ficou beeeeeeem mais simples assim e complicado ao mesmo tempo, rs
por que conseguo ter controle total e na verdade form carrega sempre o Primeiro registro por Default, se existir algum registro previamente feito.
Não sou programador Java, mas apenas para que não fique na mão enquanto isso, haveria a possibilidade de você resgatar o registro utilizando um inteiro?
Porque 99% das vezes o primeiro registro possui o valor zero, então eu acredito que se trocar isso:
fornecedores.get(fornecedores.lastIndexOf(fornecedores))
Por isso:
fornecedores.get(0)
Funcione.