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.


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>
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).
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