ce morceau de code me donne des problèmes (richfaces 3.3.2.GA):Glissez et déposez problème richfaces
<rich:dragIndicator id="indicator"> </rich:dragIndicator>
<h:dataTable id="myData" value="#{resultArray}" var="data" >
<h:column>
<a4j:outputPanel>
<rich:dragSupport id="myDrag" dragIndicator="indicator" dragType="sug" dragValue="#{data}" >
<rich:dndParam name="name" value="#{data.name}" >
</rich:dndParam>
</rich:dragSupport>
<h:outputText value="#{data.name}"></h:outputText>
</a4j:outputPanel>
</h:column>
</h:dataTable>
<rich:panel id="myPanel">
<f:facet name="header">Drop Zone</f:facet>
<rich:dropSupport id="dropZone" acceptedTypes="sug" dropListener="#{dropSuggestion}" reRender="box"/>
</rich:panel>
<rich:dataTable id="box" value="#{nameList}" var="cap2">
<f:facet name="caption">Concepts chosen</f:facet>
<h:column>
<h:outputText value="#{cap2.name}"/>
</h:column>
</rich:dataTable>
L'action appelée:
public void dropSuggestion(DropEvent event)
System.out.println("OntologyActions.dropSuggestions");
FacesContext context = FacesContext.getCurrentInstance();
OntologyActions dropItem = new OntologyActions();
String dropItemString=event.getDragValue().toString();
//Get request items
dropItem= (OntologyActions) event.getDragValue();
//Locate the position of the dropped element
int index = dropItem.resultArray.indexOf(dropItemString);
System.out.println("String: " + dropItemString + " DropItem: " + dropItem.resultArray.get(index).name + " Index: " + index);
//Add the element to the selected array
selectedSuggestionsArray.add(dropItem.resultArray.get(index));
nameList.add(dropItemString);
//resultArray.remove(dropItem);
}
Le problème est, quand je laisse tomber l'élément dans la zone de largage, aucune action ne se produit, mais je suis sûr qu'il peut voir cette zone de largage, car je vois des couleurs vertes ou rouges, en fonction des types acceptés.
Mais le concept n'est pas supprimé du conteneur et n'est pas ajouté à la zone de dépôt.
Quand je touchais cette page, je reçois cette erreur:
drop: Element with [form1:j_id640:_form:myPanel] ID was not found in the DOM tree.
Probably element has no client ID or client ID hasn't been written. DnD's disabled. Check please!
Et dans la console JSF (mais juste dans la première tentative), le débogage avec Firebug:
Node was not found" code: "8
Est-ce familier à n'importe qui??
Merci à l'avance
Ce problème était lié à a4j: form et leurs incompatibilités. –