Última edição da sequência UPDATE. Duas linhas regAction no config() pra registrar ShowUpdate e Update. Sem essas linhas, clicar numa linha da lista ou no botão Salvar do form daria "setor não encontrado".
package br.xt.app.departamento;
import br.xt.app.departamento.produto.DepartamentoProdutoForm;
import br.xt.app.departamento.produto.DepartamentoProdutoList;
import br.xt.app.painel.PnlManager;
public class DepartamentoManager extends PnlManager {
public static final String F_ACESSO_MODULO = "XT.PAINEL_CONTROLE.ACESSO_MODULO.DEPARTAMENTO";
@Override
public void config() throws Exception {
regFun("PAINEL DE CONTROLE", "Acesso ao Módulo", "DEPARTAMENTO", F_ACESSO_MODULO);
regAction(DepartamentoHome.class);
regAction(DepartamentoHome.Title.class);
regAction(DepartamentoHome.MenuItem.class);
regAction(DepartamentoHome.MenuInicial.class);
regAction(DepartamentoProdutoList.class);
regAction(DepartamentoProdutoList.DeleteFromList.class);
regAction(DepartamentoProdutoForm.class);
regAction(DepartamentoProdutoForm.ShowInsert.class);
// ADICIONAR
regAction(DepartamentoProdutoForm.ShowUpdate.class);
// FIM
regAction(DepartamentoProdutoForm.Insert.class);
// ADICIONAR
regAction(DepartamentoProdutoForm.Update.class);
// FIM
regAction(DepartamentoProdutoForm.Cancelar.class);
}
}
Mudanças nesta sequência: 2 linhas regAction novas (verde). Nenhum import novo (o import do DepartamentoProdutoForm já existia da sequência CREATE).
regAction | Classe | Acionada quando |
|---|---|---|
| +1 | ShowUpdate | Clique numa linha da lista |
| +2 | Update | Clique em "Salvar" no modo edição |
Observe a organização: os novos regAction ficam intercalados com os existentes, agrupados por par lógico — ShowInsert + ShowUpdate juntos, Insert + Update + Delete juntos. Facilita a leitura.
Com estas linhas, a sequência CRUD UPDATE está pronta. Junto com as sequências anteriores, o CRUD completo do módulo Departamento está funcional:
| Arquivo | Tipo | Edição nesta sequência |
|---|---|---|
| DepartamentoProdutoDAO | editar | daoSingle + daoUpdate |
| DepartamentoProdutoModel | editar | Wrapper update(bean) |
| DepartamentoProdutoAction | editar | Método id_produto() |
| DepartamentoProdutoForm | editar | 2 inner classes (ShowUpdate, Update) + br() atualizado |
| DepartamentoProdutoList | editar | setOnclick nas linhas |
| DepartamentoManager | editar | 2 regAction |
Seis arquivos editados, nenhum arquivo novo. Resultado: clicar numa linha da lista abre o form preenchido, permite editar e salvar, ou excluir com confirmação. A lista atualiza automaticamente ao fechar o modal.
Com o CRUD básico completo (READ + DELETE + CREATE + UPDATE), os próximos episódios vão adicionar features de conveniência: Quick Search, Sort, Tabs, paginação, insert_chk, Detail e LinkBox.