繁体   English   中英

拖放Richfaces问题

[英]Drag and drop richfaces problem

这段代码给我带来了问题(richfaces 3.3.2.GA):

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

该动作称为:

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);
     }

问题是,当我将元素放置到放置区域时,没有任何动作发生,但是我确定它可以看到该放置区域,因为根据所接受的类型,我看到的是绿色或红色。

但是该概念不会从容器中删除,也不会添加到放置区中。

当我到达此页面时,出现此错误:

drop:在DOM树中找不到ID为[form1:j_id640:_form:myPanel]的元素。

元素可能没有客户端ID或尚未写入客户端ID。 DnD已禁用。 请检查!

在JSF控制台中(但只是第一次尝试),使用firebug进行调试:

找不到节点”代码:“ 8

任何人都熟悉吗?

提前致谢

我认为您没有正确定义dropListener方法。 它应该是dropListener="#{beanName.dropSuggestion}" ,而不仅仅是我认为的方法名称。 那可以解释为什么不执行任何操作。 我不确定您遇到的其他错误。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM