Bonjour,
C'est dans le même cadre que mon post précédent. J'ai donc une dataTable contenant des rangs triés (et ordonnés via checkbox, boutons et js...). Je sais qu'il existe la rich:orderingList pour ça mais ça a été fait autrement avant que je n'arrive ...
Mon idée était de permettre le drag&drop direct d'une ligne du tableau, ce que j'arrive à faire (voir le code ci-dessous) uniquement en implémentant mes dropSupport et dragSupport au niveau de rich:Column.
Du coup, j'ai autant de dropZones que de cellules ce qui est peu élégant et le dragIndicator correspond à une cellule (ce n'est pas gênant mais pas très ergonomique).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 <rich:dataTable id="table" var="element" value="#{list}" rendered="#{not empty list}" rowKeyVar="row" > <c:forEach items="#{bean.items}" var="item"> <rich:column> <rich:dropSupport acceptedTypes="int" dropListener="#{bean.processDrop}" reRender="table" dropValue="#{row}" /> <rich:dragSupport dragType="int" dragValue="#{row}"/> <f:facet name="header" align="center"><h:outputText value="#{item}" /></f:facet> <h:outputText value="#{bean.getColumnValue(element,item)}"/> </rich:column> </c:forEach> </rich:dataTable>
Bref, je cherche comment (si c'est seulement possible) 'encadrer' mes cellules de chaque ligne par un objet sur lequel adosser dragSupport et dropSupport et je ne trouve pas.
Mes questions :
- Est une impossibilité liée à html (du genre le <tr> qui n'accepte pas de <script>...</script> comme pour le <td>) ?
- Si non, que puis intercaler entre rich:dataTable et rich:column pour représenter chaque ligne ?
Merci par avance,
hugo
Partager