SelectOneMenu - Primefaces

Olá tenho um SelectOneMenu que contem generos músicas, como Pop, Rock etc… E tenho um SelectManyMenu que contém uma lista de cifras músicas de vários generos.
Estou tentando fazer com que ao selecionar o genero do SelectOneMenu, meu SelectManyMenu aparece apenas as cifras que foi escolhida o genero.

Assim está meu bean:

@ManagedBean
@ViewScoped
public class PlaylistBean{

private List<Cifra> cifras;
private List<Genero> generos;
private Cifra cifra;

public Cifra getCifra() {
	return cifra;
}

public void setCifra(Cifra cifra) {
	this.cifra = cifra;
}

public List<Genero> getGeneros() {
	return generos;
}

public void setGeneros(List<Genero> generos) {
	this.generos = generos;
}

public List<Cifra> getCifras() {
	return cifras;
}

public void setCifras(List<Cifra> cifras) {
	this.cifras = cifras;
}


@PostConstruct
public void instancia() {
	try {
		GeneroDAO generoDAO = new GeneroDAO();
		CifraDAO cifraDAO = new CifraDAO();
		setCifras(cifraDAO.listar());
		setGeneros(generoDAO.listar());
	} catch (RuntimeException erro) {
		Messages.addFlashGlobalError("Ocorreu um erro ao listar cifra");
		erro.printStackTrace();
	}

}

}

Minha View:

<h:panelGrid>

			<f:facet name="header">
				<p:selectOneMenu style="float:left;" filter="true" id="selectcifra"
					value="#{menuBean.cifra.genero}"
					converter="omnifaces.SelectItemsConverter">
					<f:selectItem noSelectionOption="true"
						itemLabel="Estilo da música" onchange="PF('TabelaCifra').filter()" />
					<f:selectItems value="#{menuBean.generos}" var="genero"
						itemValue="#{genero}" itemLabel="#{genero.nomeGenero}" />
					<p:ajax event="change" />
				</p:selectOneMenu>

				<p:commandButton icon="fa fa-fw fa-forward" style="width:150px;" />
			</f:facet>
			<p:selectManyMenu  widgetVar="TabeaCifra" id="cifras" value="#{selectManMenuBean.cifras}"
				converter="omnifaces.SelectItemsConverter" var="cifra"
				filter="true" filterMatchMode="contains" showCheckbox="true"
				style="width:325px;">
				<f:selectItems value="#{playlistBean.cifras}" var="cifras"
					itemLabel="#{cifras.nomeCifra}" itemValue="#{cifras}" />
				<p:column>
					<h:outputText value="#{cifra.nomeCifra}" />
				</p:column>
				<p:column>
					<h:outputText value="#{cifra.genero.nomeGenero}" />
				</p:column>
			</p:selectManyMenu>

		</h:panelGrid>

Você esqueceu de relatar o erro/problema que está tendo.

O Problema é que não sei como faço para que o genero que eu escolher, por exemplo: Escolho no SelectOneMenu, o genero Pop, e assim no meu SelectManyMenu, teria q listar apenas as cifras com o genero Pop. No momento meu SelectManyMenu está listando todas as cifras de todos os generos.

Ola @mandy_jad, voce precisa fazer uma nova busca no banco com base no genero selecionado e ai atualizar o componente selectManyMenu

Para isso, voce pode utilizar a propriedade listener do p ajax e o update para atualizar o valor do componente

<p:selectOneMenu ...>
    ...

    <p:ajax listener="#{playlistBean.consultarCifraPorGenero}" update="cifras" />
</p:selectOneMenu>