J'essaie de lier une boîte d'entrée à une entrée dans un champ à valeurs multiples, Quelque chose comme ceci:Comment lier un champ à une source de données dans une répétition en utilisant EL?
<xp:repeat id="repeat6" rows="30" var="rows" indexVar="ind">
<xp:this.value><![CDATA[#{javascript:order.getItemValue("ArtNo")}]]></xp:this.value>
<xp:inputText id="inputText9" style="width:20px" value="#{order.ArtQuantity[ind]}">
</xp:repeat>
Quand il y a deux valeurs dans ArtNo champ cela fonctionne, mais pas quand il y a une seule valeur. Ma conjecture ici est que quand il n'y a qu'une seule entrée ce n'est plus un tableau car j'ai l'erreur suivante:
Erreur lors de l'obtention de la propriété '0' du bean de type java.lang.Double - PropertyNotFoundException Erreur, impossible de localiser le composant :
comment puis-je corriger mon code afin que l'ordre de code EL.ArtQuantity [ind] fonctionne toujours, c'est à dire est toujours un tableau?
grâce
Thomas
Comment ça marche avec ArtQuantity avec trois éléments? Comment obtenez-vous chaque élément dans la répétition? La variable repeat est basée sur ArtNo et non sur ArtQuantity. Donc, la variable d'index 'ind' doit être utilisée quelque part ... –
Bon point. Je suppose que ArtQuantity est un champ d'ombre avec le même nombre d'éléments que ArtNo. Dans ce cas, pour chaque valeur dans ArtNo, une ligne de répétition affiche la valeur ArtQuantity. –
Oui, je suppose que aussi.Mais, si vous utilisez '# {order.ArtQuantity}' comme valeur inputText, alors pour * chaque * ArtNo * all * ArtQuantity sont affichés dans le champ de texte de saisie. –