0

我想在 Oracle ADF中实现拖动排序(例如:http: //jqueryui.com/sortable/#display-grid )。

我在 ADF 中尝试过的以下代码:

<af:panelList rows="6" maxColumns="3" id="sortable1"
                      listStyle="list-style-type:none" >
         <af:forEach varStatus="vs" begin="1" end="17">
          <af:panelList rows="6" maxColumns="3" styleClass="thumbnail" id="test"
                          listStyle="list-style-type:none">
         <af:panelGroupLayout layout="vertical"
                                               styleClass="thumbnail" id="pgl4">
           <af:outputText id="ot2" value="#{vs.index} #{vs.count} #{vs.begin}"/> 
           </af:panelGroupLayout>
            </af:panelList>
          </af:forEach>
</af:panelList>

以下是用于排序的 jquery:

<af:resource type="javascript" source="/js/jquery-1.9.1.js"/>
        <af:resource type="javascript" source="/js/jquery-ui.js"/>
        <trh:script id="sx4">
           $(function () {
              $("#sortable1").sortable();
              $("#sortable1").disableSelection();
          });
        </trh:script>

但我无法进行拖动排序。如何实现拖动排序?

4

2 回答 2

0

我强烈建议不要在使用 ADF 时使用 jQuery 来调整 DOM。ADF 对 DOM 做了一些奇怪的事情,而 jQuery 对 DOM 做了同样奇怪但不兼容的事情。将它们结合起来是问题的根源。

您可能想要查看的是使用 ADF 的拖放源/目标接口。这些可能会帮助你,但我强烈怀疑这是不可能的。

于 2013-03-15T16:12:10.053 回答
0

我使用 Panel Dash Board 来实现拖动排序的要求。

我使用的代码如下:

<af:panelDashboard id="pd1">
                          <af:forEach begin="1" end="5" step="1" varStatus="vs"
                                      var="v">
                            <af:panelBox text="#{vs.index}">
                              <af:componentDragSource/>
                              <af:panelGroupLayout layout="vertical"
                                                   styleClass="thumbnail"
                                                   id="pgl10">
                                <af:outputText id="ot8"
                                               value="#{vs.index} #{vs.count} #{vs.begin}"/>
                              </af:panelGroupLayout>
                            </af:panelBox>
                          </af:forEach>
                        </af:panelDashboard>

The component will do the drag sort of the items (panel box). No java script file is required. It will simply do the same thing as drag sort (eg: http://jqueryui.com/sortable/#display-grid) in jQuery.

于 2013-04-17T12:21:53.820 回答