Boa noite amigos, estou com um problema e preciso de uma ajuda de vocês:
Por exemplo, tenho um HashMap como abaixo:
private HashMap<String, Integer> grade = new HashMap<String, Integer>();
{33=0, 34=0, 35=0, 36=0, 37=0, 38=0, 39=0} // Tenho esses dados no hashmap
Para cada par de elementos, quero ter um inputText na minha view para editar o valor do elemento.
Procurei sobre ui:repeat, mas não tive sucesso para implementar.
Alguem pode me ajudar?
amigo não estou entendendo você tem hashMap de <String,Integer> com esses dados? {33=0, 34=0, 35=0, 36=0, 37=0, 38=0, 39=0}
Da uma lida nesse artigo da oracle da classe hashMap,
http://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html
public static void main(String[] args) {
HashMap<Integer, String> lista = new HashMap<Integer, String>();
lista.put(1, "Pedro");
lista.put(2, "Maria");
lista.put(3, "Joao");
lista.put(4, "Artur");
for(Integer entry : lista.keySet()) {
String p_nome = lista.get(entry);
System.out.println(p_nome());
}
}
Olá
Siiim, tenho estes valores.
No caso, é uma grade de um produto.
Ex:
No Número 33, tenho 5 itens
No número 34, tenho 2 itens
No número 35, tenho 10 itens
Conseguiu me entender?
Consegui, entao seu HashMap é de Interger,String e nao String,Integer
Não, ao contrario amigo
Meu hashmap tem que ser de <String, Integer>
Exemplo:
O cara carrega uma referencia do produto, então carrego a grade do mesmo:
Produto: XXX
Grade do produto: 33,34,35,36,37,38,39
Então o cliente escolhe quantos itens de cara numeração ele quer:
33=1, 34=0, 35=5, 36=3…
Conseguiu me entender agora?
Bom cara se eu nao conseguir te convencer então leia esse artigo da oracle de como funciona um hashMap…
http://docs.oracle.com/javase/7/docs/api/java/util/HashMap.html
Ok, ainda não me convenci, mas obrigado pela resposta.
Alguem ai tem alguma sugestão pra mim?
Olá.
Já resolvi pessoal:
Segue pra quem tiver a mesma duvida.
<ui:repeat var="chave" value="#{pedidoBean.gradeTmp.keySet().toArray()}">
<p:outputLabel value="#{chave}"/>
<p:inputText label="Número: "
value="#{pedidoBean.gradeTmp[chave]}"
converter="integerParseInteger"
maxlength="4"
styleClass="inputTextPequeno"
onkeypress="return SomenteNumero(event);"
onkeyup="soma();">
<f:validateLength minimum="1" maximum="4" />
</p:inputText>
</ui:repeat>