|
Author: erwan
Date: Fri Feb 5 15:31:48 2010 New Revision: 906973 URL: http://svn.apache.org/viewvc?rev=906973&view=rev Log: Remove the differences in columns in a fom as reported by Nicolas Malin on the dev mailing list. More details on this issue here : https://issues.apache.org/jira/browse/OFBIZ-3444 with screenshots and an example Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java?rev=906973&r1=906972&r2=906973&view=diff ============================================================================== --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java (original) +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelForm.java Fri Feb 5 15:31:48 2010 @@ -1608,18 +1608,38 @@ // render row formatting open formStringRenderer.renderFormatItemRowOpen(writer, localContext, this); + Iterator<ModelFormField> innerDisplayHyperlinkFieldsBeginIter = innerDisplayHyperlinkFieldsBegin.iterator(); + Map<String, Integer> fieldCount = FastMap.newInstance(); + while(innerDisplayHyperlinkFieldsBeginIter.hasNext()){ + ModelFormField modelFormField = innerDisplayHyperlinkFieldsBeginIter.next(); + if(fieldCount.containsKey(modelFormField.getFieldName())){ + fieldCount.put(modelFormField.getFieldName(), fieldCount.get(modelFormField.getFieldName())+1); + } + else{ + fieldCount.put(modelFormField.getFieldName(), 1); + } + } // do the first part of display and hyperlink fields Iterator<ModelFormField> innerDisplayHyperlinkFieldIter = innerDisplayHyperlinkFieldsBegin.iterator(); while (innerDisplayHyperlinkFieldIter.hasNext()) { ModelFormField modelFormField = innerDisplayHyperlinkFieldIter.next(); // span columns only if this is the last column in the row (not just in this first list) - if (innerDisplayHyperlinkFieldIter.hasNext() || numOfCells > innerDisplayHyperlinkFieldsBegin.size()) { - formStringRenderer.renderFormatItemRowCellOpen(writer, localContext, this, modelFormField, 1); - } else { - formStringRenderer.renderFormatItemRowCellOpen(writer, localContext, this, modelFormField, numOfColumnsToSpan); + if( fieldCount.get(modelFormField.getName()) < 2 ){ + if ((innerDisplayHyperlinkFieldIter.hasNext() || numOfCells > innerDisplayHyperlinkFieldsBegin.size())) { + formStringRenderer.renderFormatItemRowCellOpen(writer, localContext, this, modelFormField, 1); + } else { + formStringRenderer.renderFormatItemRowCellOpen(writer, localContext, this, modelFormField, numOfColumnsToSpan); + } } - if ((!"list".equals(this.getType()) && !"multi".equals(this.getType())) || modelFormField.shouldUse(localContext)) { + if ((!"list".equals(this.getType()) && !"multi".equals(this.getType())) || modelFormField.shouldUse(localContext)) { + if(( fieldCount.get(modelFormField.getName()) > 1 )){ + if ((innerDisplayHyperlinkFieldIter.hasNext() || numOfCells > innerDisplayHyperlinkFieldsBegin.size())) { + formStringRenderer.renderFormatItemRowCellOpen(writer, localContext, this, modelFormField, 1); + } else { + formStringRenderer.renderFormatItemRowCellOpen(writer, localContext, this, modelFormField, numOfColumnsToSpan); + } + } modelFormField.renderFieldString(writer, localContext, formStringRenderer); } formStringRenderer.renderFormatItemRowCellClose(writer, localContext, this, modelFormField); |
| Free forum by Nabble | Edit this page |
