从DataGrid中拖放Primefaces

Primefaces Drag and Drop from DataGrid

本文关键字:Primefaces 拖放 DataGrid      更新时间:2023-09-26

我使用Primefaces Drag and Drop将一个DataGrid拖放到另一个组件上。问题是,当您从数据网格中拖动一个项目时,该项目一旦离开单元格就不可见了。

甚至这个例子也是这样做的:http://www.primefaces.org/showcase/ui/dndTable.jsf

是否有一种方法可以使拖动的项目在页面上的其他所有内容之上可见?我试过在可拖拽列表中设置高zindex,但没有成功。这似乎只是从DataGrid拖拽的问题。

使用Primefaces 3.5

在使用数据表时,我没有找到通过操纵样式来避免问题的任何解决方案,但是如果您使用带有嵌套panelGrids模拟行的dataGrid,它将起作用:

 <p:fieldset>
`  <p:dataGrid columns="1" value="#{bean.items}" var="item">
     <p:panelGrid>
       <p:row>
         <p:column style="text-align: center;">
             <p:outputLabel value="#{item.name}" />
             <p:draggable />
         </p:column>
         <p:column style="text-align: center;">
             <h:outputText value="#{item.somethingElse}" />
         </p:column>
       </p:row>
     </p:panelGrid>
   </p:dataGrid>
 <p:fieldset>

使用这个技巧,您可以拖动panelGrid之外的任何内容,它将显示在其他所有内容之上,但是您失去了dataTable样式。