Alguem já fez ou teve este “problema” utilizando o genesis:
Tenho uma tela que tem 2 combos:
1 - Lista de Categorias
2 - Lista de Subcategorias
Quando selecionar a primeira categoria preenche o segundo combo com a lista de subcategorias.
    @DataProvider(objectField = "categoria", callOnInit = true)
    public List populaCategoria() {
        List<EstCategoria> categoriaList = new ArrayList<EstCategoria>();
        .....
        return categoriaList;
    }
até aqui tudo bem mas quando houver a mudança de categoria o que faço para preencher o segundo de arcodo com  o primeiro?
         
        
          
        
           
           
           
         
         
            
            
          
       
      
        
        
          No seu DataProvider de subcategorias coloque
@DataProvider(objectField = "subCategoria", callOnInit = false)
@CallWhen("genesis.hasChanged('form:categoria')")
Para duvidas, também pode utilizar a lista do genesis.
         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Ixi tava na minha cara e não vi.
Tinha visto a anotação CallWhen mas não entendi direito o que ela fazia e esqueci de testar.
Deu certo obrigado pela ajuda.

         
        
        
           
           
           
         
         
            
            
          
       
      
        
        
          Cara agora to com outro problema quando vou editar tenho que preecher o form com os dados vindos do hibernate,
e somente o campo de  subcategoria fica vazio, mas ele não esta vazio quando ele faz o setSuCagetoria.
Ou seja ele não seleciona e ainda remove a lista que ele tinha.
            //TRECHO QUE PREENCHE O OBJETO FORM
            EstProduto produto = produtoDAO.getProduto(EstProdutoGui.id);
            setCodigo(produto.getCodigo());
            setNomeProduto(produto.getNome());
            setFornecedor(produto.getFornecedor());
            setCategoria(produto.getCategoria());
            setSubCategoria(produto.getSubcategoria()); //<--
            setQtdEstoque(produto.getQtdEstoque());
            setQtdMinimo(produto.getQtdMinimo());
            setDescontoVista(produto.getDescontoVista());
            setDescontoPrazo(produto.getDescontoPrazo());
            setPreco(produto.getPreco());
            setObservacao(produto.getObservacao());
    //CODIGO DOS COMBOS
    @DataProvider(objectField = "categoria", callOnInit = true)
    public List populaCategoria() {
        List<EstCategoria> categoriaList = new ArrayList<EstCategoria>();
        EstCategoriaDAO categoriaDAO = new EstCategoriaDAO();
        categoriaList = categoriaDAO.getCategoria();
        return categoriaList;
    }
    @DataProvider(objectField = "subCategoria", callOnInit = false)
    @CallWhen("genesis.hasChanged('form:categoria')")
    public List populaSubCategoria() {
        EstSubCategoriaDAO subCategoriaDAO = new EstSubCategoriaDAO();
        return subCategoriaDAO.getSubCategorias(categoria);
    }