rich:dataTable with Drag&Drop in every column triggers liste
rschoeler Aug 25, 2008 3:10 PMHello, first thanks for this great framework. It's very impressive, which great stuff is provided with this framework!
Currently I try to implement full drag&drop support within one rich:dataTable with multiple rich:column. Every column is drag&dropzone. Haven't found nothing in the docs that this shouldn't be allowed - therefore I use it.....8-}
BUT: This works only for drag and drop from left to right, but not from dnd from right to left.
The problem is: if going from left to right - the normal order of listeners is triggered - first the dragListener and second the dropListener. But if I go from right to left - the first triggered listener ist the dropListener, and this throw a Nullpointer in my own code, because I assume that always the dragListener must be triggered first.
And I use the dragListener to initialize some internal variables, and the dropListener to clean them....
Here is my src from one column:
<rich:column id="slot1_day0"> <a4j:outputPanel id="out_slot1_day0" ajaxRendered="true" style="#{record.slot1[0].styleValue}" layout="block"> <rich:dragSupport dragIndicator=":indicator" dragType="text" dragValue="#{record.slot1[0].oid}" dragListener="#{prod1Handler.addToDnDList}" > <rich:dndParam type="drag" name="label" value="#{record.slot1[0].order_number}" /> </rich:dragSupport> <rich:dropSupport acceptedTypes="text" dropListener="#{prod1Handler.addSingleOrder}" /> <h:outputText value="#{record.slot1[0].order_number}" /> </a4j:outputPanel> </rich:column>
The backing-bean prod1Handler has session-scope, if this is from relevance.
Short snippet from the start of the table, because this table is inside a rich:tabPanel. Don't know if I really need the a4j:region, but it has no side-effects. Have tried with and without this element.
<rich:tabPanel switchType="client"> <rich:tab label="Produktion 1" id="tab_prod_1"> <a4j:region selfRendered="true" id="region_prod_1"> <rich:dataTable id="production1_detail" onRowMouseOver="this.style.backgroundColor='#F1F1F1'" onRowMouseOut="this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'" cellpadding="0" cellspacing="0" width="100%" border="0" var="record" value="#{prod1Handler.resultModel}">
dragIndicator is also used, and declared before the form-tag.
<rich:dragIndicator id="indicator" /> <h:form id="production_detail">
My environment:
Tomcat 6.0.16
JDK 1.6.0_01
MyFaces 1.2.3
RichFace 3.2.2(Snapshot from 19.06.2008 richfaces-api-3.2.2-20080619.044039-17.jar etc.)
Maybe someone can find the problemsource? Or is this a bug?
with friendly greetings 8-}
roland
PS: Firebug doesn't show me any JS-Error....