Fórum selectOneMenu(Primefaces) interagindo com mysql #561763
31/08/2016
0
Galera, eu gostaria de criar um filtro de pesquisa onde o selecOneMenu refinasse os registros mostrados na dataTable.
meus arquivos estão assim:
-SELECT
-ITEM MANAGEDBEAM
-CONNECT2
-DATATABLE
alguém sabe como eu faço para a variável [selectedItem] determinar o [nome_item] a ser selecionado no mysql?
meus arquivos estão assim:
-SELECT
<h:form>
<h:panelGrid columns="2" cellpadding="3" styleClass="paineis">
<h:outputLabel for="categoria1" value="Categoria 1:" />
<p:selectOneMenu id="categoria1" value="#{procurar.selectedItem}">
<p:ajax listener="#{procurar.defineCategoria2}"
update="categoria2 categoria3" />
<f:selectItems value="#{procurar.categoria1}" />
</p:selectOneMenu>
<h:outputLabel for="categoria2" value="Categoria 2:" />
<p:selectOneMenu id="categoria2"
value="#{procurar.selectedItem2}">
<p:ajax listener="#{procurar.defineCategoria3}"
update="categoria3" />
<f:selectItems value="#{procurar.categoria2}" />
</p:selectOneMenu>
<h:outputLabel for="categoria3" value="Categoria 3:" />
<p:selectOneMenu id="categoria3"
value="#{procurar.selectedItem3}">
<f:selectItems value="#{procurar.categoria3}" />
</p:selectOneMenu>
</h:panelGrid>
</h:form>-ITEM MANAGEDBEAM
public List<Item> getlistItems() throws SQLException {
Connect2 con = new Connect2();
List<Item> listaItems = con.listItems();
return listaItems;
}-CONNECT2
public List<Item> listItems() {
ArrayList<Item> lista = new ArrayList<Item>();
Statement st = null;
ResultSet rs = null;
try {
st = con.createStatement();
String sql = "select * from item ";
rs = st.executeQuery(sql);
while (rs.next()) {
Item item = new Item();
item.setCod_id(rs.getInt(1));
item.setCod_icone(rs.getString(2));
item.setNome_item(rs.getString(3));
item.setServidor(rs.getString(4));
item.setRefinacao(rs.getString(5));
item.setVendedor(rs.getString(6));
item.setPreco(rs.getString(7));
item.setDescricao(rs.getString(8));
item.setDataCadastro(rs.getDate(9));
lista.add(item);
}
} catch (SQLException ex) {
Logger lgr = Logger.getLogger(Connect2.class.getName());
lgr.log(Level.SEVERE, ex.getMessage(), ex);
} finally {
try {
if (rs != null) {
rs.close();
}
if (st != null) {
st.close();
}
if (con != null) {
con.close();
}
} catch (SQLException ex) {
Logger lgr = Logger.getLogger(Connect2.class.getName());
lgr.log(Level.WARNING, ex.getMessage(), ex);
}
}
return lista;
}
-DATATABLE
<p:dataTable var="item" value="#{itemMB.listItems}" rows="15"
paginator="true" paginatorPosition="bottom" selectionMode="single"
selection="#{itemMB.item}" rowKey="#{item.cod_id}"
emptyMessage="Lista vazia" scrollable="true" scrollHeight="456">
<p:column style="width: 40px">
<h:graphicImage
value="resources/images/equipamentos/#{item.cod_icone}.png" />
</p:column>
<p:column headerText="Nome">
<h:outputText value="#{item.nome_item}" />
</p:column>
<p:column headerText="Servidor" style="width: 50px">
<h:outputText value="#{item.servidor}" />
</p:column>
<p:column headerText="Ref" style="width: 25px">
<h:outputText value="#{item.refinacao}" />
</p:column>
<p:column headerText="Decrição" style="width: 100px">
<h:outputText value="#{item.descricao}" />
</p:column>
<p:column headerText="Preço" style="width: 50px">
<h:outputText value="#{item.preco}" />
</p:column>
</p:dataTable>
alguém sabe como eu faço para a variável [selectedItem] determinar o [nome_item] a ser selecionado no mysql?
Michael Batista
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)