Atualizar "ComboBox" - SelectOneMenu

Tenho esse selectOneMenu e nele eu carrego uma lista que busquei do banco, mas se por acaso alguém cadastrou um novo registro não vai aparecer, eu pensei em botar um botão atualizar, mas queria mesmo que quando eu clicar no “combobox” a lista ser carregada.

<p:selectOneMenu id="selecionaEstado" value="#{cidadeBean.estadoSelecionado}"
   <f:selectItem itemLabel="Selecione o estado" />  
   <f:selectItems value="#{cidadeBean.estados}" var="estado" itemLabel="#{estado.nome}" itemValue="#{estado.idEstado}"/>                           
</p:selectOneMenu>

Na minha opinião essa funcionalidade não é necessária. Mas enfim.
Pesquisa para ver se o selectOneMenu suporta ajax. Ai tu precisa ver qual o evento associado o clique para abrir as opções. Nesse evento tu teria que chamar o teu método que recarrega os valores e dar um update no componente.

<h:selectOneMenu value="#{bean.terminal}" id=“terminal”>
<f:selectItems value="#{…}" />
<f:ajax event=“change” render=“operation” listener="#{service.update}" />
</h:selectOneMenu>

Algo assim. Só que o evento change acredito que seja disparado quando selecionar o registro.

Muito obrigado, difícil vai ser achar esse evento rs.

Amigo não sei se entendi sua dúvida direito, então vou postar um trecho de código que usamos em um sistema aqui que faz o seguinte:
Cada vez que o usuário abre a tela, ele busca todas as cidades no banco e joga em um ArrayList. Assim cada vez que a tela é aberta ele esta sempre com a lista de cidades atualizadas.
Segue o Exemplo…

ManagedBean:

[code]private List comboCidades;
private Long idCidade;

public void init() {
populaComboCidades();
}

private void populaComboCidades() {
comboCidades = new ArrayList<>();

List<CidadeED> listaCidades = cidadeRN.listar();
for (CidadeED cidadeED : listaCidades) {
	comboCidades.add(new SelectItem(cidadeED.getId(), cidadeED.getNome() != null ? cidadeED.getNome().toUpperCase() : null));
}

}[/code]
JSF:

<p:selectOneMenu id="cidade" value="#{clienteManagedBean.idCidade}" style="width: 22em;"> <f:selectItems value="#{clienteManagedBean.comboCidades}" /> </p:selectOneMenu>

Espero ter ajudado em algo, abraço!

Isso eu já faço, mas vai que alguém cadastre uma cidade, aí queria que quando ele clicar, atualizar os dados, mas você botar um botão “refresh” mesmo. Obrigado pela reposta.

Cara, quantas cidades são criadas por ano no Brasil? Acha mesmo que isso vai ser útil?

Botei o exemplo de cidade, mas não vou usar pra cidades e sim para outros campos rs.