rich:dndParam with h:dataTable

时间:2010-10-22 10:41:00

标签: jsf richfaces

您好我正在尝试使用JSF Datatable实现a4j的drop功能。我有一个数据表,我想将组件放入该数据表。我该怎么做。

将其放入树中的代码可以正常工作:

以下是将其删除到树中的代码,但是当我尝试将其删除到数据表中时,它不起作用。

                        <rich:treeNodesAdaptor id="packageNodeAdaptor" nodes="#{target.packages}" var="package">

                            <rich:treeNode id="package" icon="/img/icons/Package_icon.png"
                                iconLeaf="/img/icons/Package_empty_icon.png" ajaxSingle="false"
                                acceptedTypes="dbObject">

                                <rich:dndParam name="label" value="Add to #{package.name}" />
                                <a4j:support event="ondrop"
                                    action="doAddDBObjectToPackage"
                                    reRender="targetsMaster,sourcesDetailPanel" status="waitStatus" >
                                    <f:setPropertyActionListener value="#{package}"
                                        target="#{workspace.selectedPackage}" />
                                </a4j:support><a4j:commandLink
                                    value="#{package.name}" id="commandLink#{package.name}" reRender="targetsDetailPanel">
                                    <f:setPropertyActionListener value="#{package}"
                                        target="#{workspace.selection}" />
                                </a4j:commandLink>

                            </rich:treeNode>
</rich:treeNodesAdaptor>

当我尝试将代码放在h:dataTable中时,它不起作用。

以下是数据表的一部分:

<rich:dndParam name="label" value="Add to #{package.name}" />

                            <a4j:support event="ondrop"
                                action="doAddDBObjectToPackage"
                                reRender="componentDetailInfoTab,sourcesDetailPanel" status="waitStatus" >
                                <f:setPropertyActionListener value="#{package}"
                                    target="#{workspace.selectedPackage}" />
                            </a4j:support>
                    </rich:dataTable>

你能指导我如何解决它。

谢谢, 阿都

2 个答案:

答案 0 :(得分:0)

某些richfaces组件(例如a4j:commandButton)与h:datatable无法正常工作。

我会尝试使用rich:datatable代替h:datatable,以消除这是您的问题。

答案 1 :(得分:0)

将dropSupport代码放在<rich:dataTable标记内不起作用。将代码放在<rich:dataTable标记之外,并在相同的表单下工作完全正常。 我的帖子中树的dropSupport代码放置在定义数据表的表单内时效果很好。