に表示される画像のリストにドラッグアンドドロップ機能を実装しています<p:dataTable>
。この機能は正常に動作し、ajax 呼び出しも行われています。
唯一の問題は、画像が dataTable からドラッグされるときに、画像が他の html コンポーネントの上にドラッグされていることを示していないことです...つまり、他の html コンポーネントの後ろに隠れてしまいます。私overflow:visible
も自分の dataTable と他のコンポーネントを試してみましたが、まだ運がありません。
ページにあったレイアウトも削除しました。まだ運がありません。これは何か関係があり<p:dataTable>
ますか?
プライムフェイスの使用 3.3.1
jsf ページ コード:
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui">
<h:head>
<title>Img</title>
</h:head>
<h:body>
<h:form>
<p:scrollPanel>
<p:layout fullPage="true" >
<p:layoutUnit position="north" minSize="100">
</p:layoutUnit>
<p:layoutUnit position="west" maxSize="200" minSize="200">
<p:dataTable var="img"
value="#{orderBean.userMedia.mediaList}"
id="dataTableID">
<p:column>
<p:graphicImage id="imgID" value="#{img.thumbNail.getString('url')}"/>
<p:draggable for="imgID" revert="true"/>
</p:column>
</p:dataTable>
</p:layoutUnit>
<p:layoutUnit position="center">
<p:outputPanel >
<p:panel id="outputPanelID" style="background: red; width: 100%;height: 100%">
</p:panel>
<p:droppable for="outputPanelID">
<p:ajax listener="#{orderBean.onDropImage}"/>
</p:droppable>
</p:outputPanel>
</p:layoutUnit>
<p:layoutUnit position="south" minSize="60">
</p:layoutUnit>
</p:layout>
</p:scrollPanel>
</h:form>
</h:body>
スクリーンショットでわかるように。画像がドラッグされ、バックエンド リスナーも呼び出されますが、ドラッグされる画像は他の HTML コンポーネントの下に配置されます。何が欠けているのかわからない。
ありがとう。
スクリーンショット: