⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 modelform.java

📁 Sequoia ERP是一个真正的企业级开源ERP解决方案。它提供的模块包括:电子商务应用(e-commerce), POS系统(point of sales),知识管理,存货与仓库管理
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
            if (fieldInfo.getFieldType() == ModelFormField.FieldInfo.HIDDEN || fieldInfo.getFieldType() == ModelFormField.FieldInfo.IGNORED) {                continue;            }            // skip all non-display and non-hyperlink fields            if (fieldInfo.getFieldType() != ModelFormField.FieldInfo.DISPLAY && fieldInfo.getFieldType() != ModelFormField.FieldInfo.DISPLAY_ENTITY && fieldInfo.getFieldType() != ModelFormField.FieldInfo.HYPERLINK) {                continue;            }            if (!modelFormField.shouldUse(context)) {                continue;            }            formStringRenderer.renderFormatHeaderRowCellOpen(buffer, context, this, modelFormField);            formStringRenderer.renderFieldTitle(buffer, context, modelFormField);            formStringRenderer.renderFormatHeaderRowCellClose(buffer, context, this, modelFormField);        }        formStringRenderer.renderFormatHeaderRowClose(buffer, context, this);    }    protected Object safeNext(Iterator iterator) {        try {            return iterator.next();        } catch (NoSuchElementException e) {            return null;        }    }        public void renderItemRows(StringBuffer buffer, Map context, FormStringRenderer formStringRenderer, boolean formPerItem) {        this.rowCount = 0;        String lookupName = getListIteratorName();        if (UtilValidate.isEmpty(lookupName)) {            lookupName = getListName();           }        if (UtilValidate.isEmpty(lookupName)) {            Debug.logError("No value for list or iterator name found.", module);            return;        }        Object obj = context.get(lookupName);        if (obj == null) {            Debug.logError("No object for list or iterator name:" + lookupName + " found.", module);            return;        }        // if list is empty, do not render rows        Iterator iter = null;        List items = null;        if (obj instanceof Iterator) {            iter = (Iterator) obj;               setPaginate(true);        } else if (obj instanceof List) {            items = (List) obj;            iter = items.listIterator();            setPaginate(true);        }        // set low and high index        getListLimits(context, obj);        if (iter != null) {            // render item rows            int itemIndex = -1;            Object item = null;            while ((item = this.safeNext(iter)) != null) {                itemIndex++;                if (itemIndex >= highIndex) {                    break;                }                // TODO: this is a bad design, for EntityListIterators we should skip to the lowIndex and go from there, MUCH more efficient...                if (itemIndex < lowIndex) {                    continue;                }                                Map localContext = new HashMap(context);                if (UtilValidate.isNotEmpty(this.getListEntryName())) {                    localContext.put(this.getListEntryName(), item);                } else {                    Map itemMap = (Map) item;                    localContext.putAll(itemMap);                }                                ModelFormAction.runSubActions(this.rowActions, localContext);                localContext.put("itemIndex", new Integer(itemIndex - lowIndex));                this.resetBshInterpreter(localContext);                this.rowCount++;                if (Debug.verboseOn()) Debug.logVerbose("In form got another row, context is: " + localContext, module);                // Check to see if there is a field, same name and same use-when (could come from extended form)                for (int j = 0; j < this.fieldList.size(); j++) {                    ModelFormField modelFormField = (ModelFormField) this.fieldList.get(j);                    if (!modelFormField.isUseWhenEmpty()) {                        boolean shouldUse1 = modelFormField.shouldUse(localContext);                        for (int i = j+1; i < this.fieldList.size(); i++) {                            ModelFormField curField = (ModelFormField) this.fieldList.get(i);                            if (curField.getName() != null && curField.getName().equals(modelFormField.getName())) {                                boolean shouldUse2 = curField.shouldUse(localContext);                                if (shouldUse1 == shouldUse2) {                                    this.fieldList.remove(i--);                                }                            } else {                                continue;                            }                        }                    }                }                                // render row formatting open                formStringRenderer.renderFormatItemRowOpen(buffer, localContext, this);                // do the first part of display and hyperlink fields                Iterator innerDisplayHyperlinkFieldIter = this.fieldList.iterator();                while (innerDisplayHyperlinkFieldIter.hasNext()) {                    ModelFormField modelFormField = (ModelFormField) innerDisplayHyperlinkFieldIter.next();                    ModelFormField.FieldInfo fieldInfo = modelFormField.getFieldInfo();                    // don't do any header for hidden or ignored fields                    if (fieldInfo.getFieldType() == ModelFormField.FieldInfo.HIDDEN || fieldInfo.getFieldType() == ModelFormField.FieldInfo.IGNORED) {                        continue;                    }                    if (fieldInfo.getFieldType() != ModelFormField.FieldInfo.DISPLAY && fieldInfo.getFieldType() != ModelFormField.FieldInfo.DISPLAY_ENTITY && fieldInfo.getFieldType() != ModelFormField.FieldInfo.HYPERLINK) {                        // okay, now do the form cell                        break;                    }                    if (!modelFormField.shouldUse(localContext)) {                        continue;                    }                    formStringRenderer.renderFormatItemRowCellOpen(buffer, localContext, this, modelFormField);                    modelFormField.renderFieldString(buffer, localContext, formStringRenderer);                    formStringRenderer.renderFormatItemRowCellClose(buffer, localContext, this, modelFormField);                }                // render the "form" cell                formStringRenderer.renderFormatItemRowFormCellOpen(buffer, localContext, this);                if (formPerItem) {                    formStringRenderer.renderFormOpen(buffer, localContext, this);                }                // do all of the hidden fields...                this.renderHiddenIgnoredFields(buffer, localContext, formStringRenderer, null);                Iterator innerFormFieldIter = this.fieldList.iterator();                while (innerFormFieldIter.hasNext()) {                    ModelFormField modelFormField = (ModelFormField) innerFormFieldIter.next();                    ModelFormField.FieldInfo fieldInfo = modelFormField.getFieldInfo();                    // don't do any header for hidden or ignored fields                    if (fieldInfo.getFieldType() == ModelFormField.FieldInfo.HIDDEN || fieldInfo.getFieldType() == ModelFormField.FieldInfo.IGNORED) {                        continue;                    }                    // skip all of the display/hyperlink fields                    if (fieldInfo.getFieldType() == ModelFormField.FieldInfo.DISPLAY || fieldInfo.getFieldType() == ModelFormField.FieldInfo.DISPLAY_ENTITY || fieldInfo.getFieldType() == ModelFormField.FieldInfo.HYPERLINK) {                        continue;                    }                    if (!modelFormField.shouldUse(localContext)) {                        continue;                    }                    if (separateColumns || modelFormField.getSeparateColumn())                         formStringRenderer.renderFormatItemRowCellOpen(buffer, localContext, this, modelFormField);                    // render field widget                    modelFormField.renderFieldString(buffer, localContext, formStringRenderer);                    if (separateColumns || modelFormField.getSeparateColumn())                         formStringRenderer.renderFormatItemRowCellClose(buffer, localContext, this, modelFormField);                }                if (formPerItem) {                    formStringRenderer.renderFormClose(buffer, localContext, this);                }                formStringRenderer.renderFormatItemRowFormCellClose(buffer, localContext, this);                // render the rest of the display/hyperlink fields                while (innerDisplayHyperlinkFieldIter.hasNext()) {                    ModelFormField modelFormField = (ModelFormField) innerDisplayHyperlinkFieldIter.next();                    ModelFormField.FieldInfo fieldInfo = modelFormField.getFieldInfo();                    // don't do any header for hidden or ignored fields                    if (fieldInfo.getFieldType() == ModelFormField.FieldInfo.HIDDEN || fieldInfo.getFieldType() == ModelFormField.FieldInfo.IGNORED) {                        continue;                    }                    // skip all non-display and non-hyperlink fields                    if (fieldInfo.getFieldType() != ModelFormField.FieldInfo.DISPLAY && fieldInfo.getFieldType() != ModelFormField.FieldInfo.DISPLAY_ENTITY && fieldInfo.getFieldType() != ModelFormField.FieldInfo.HYPERLINK) {                        continue;                    }                    if (!modelFormField.shouldUse(localContext)) {                        continue;                    }                    formStringRenderer.renderFormatItemRowCellOpen(buffer, localContext, this, modelFormField);                    modelFormField.renderFieldString(buffer, localContext, formStringRenderer);                    formStringRenderer.renderFormatItemRowCellClose(buffer, localContext, this, modelFormField);                }                // render row formatting close                formStringRenderer.renderFormatItemRowClose(buffer, localContext, this);            }            if ((itemIndex + 1) < highIndex) {                setHighIndex(itemIndex + 1);            }            setActualPageSize(highIndex - lowIndex);                        if (iter instanceof EntityListIterator) {                try {                    ((EntityListIterator) iter).close();                } catch(GenericEntityException e) {                    Debug.logError(e, "Error closing list form render EntityListIterator: " + e.toString(), module);                }            }//            if (listSize < actualPageSize) {//                setListSize(actualPageSize);//                context.put("listSize", new Integer(listSize));//            }        }    }    public void renderHiddenIgnoredFields(StringBuffer buffer, Map context, FormStringRenderer formStringRenderer, Set alreadyRendered) {        Iterator fieldIter = this.fieldList.iterator();        while (fieldIter.hasNext()) {            ModelFormField modelFormField = (ModelFormField) fieldIter.next();            ModelFormField.FieldInfo fieldInfo = modelFormField.getFieldInfo();            // render hidden/ignored field widget            switch (fieldInfo.getFieldType()) {                case ModelFormField.FieldInfo.HIDDEN :                case ModelFormField.FieldInfo.IGNORED :                    if (modelFormField.shouldUse(context)) {                        modelFormField.renderFieldString(buffer, context, formStringRenderer);                        if (alreadyRendered != null)                            alreadyRendered.add(modelFormField.getName());                    }                    break;                case ModelFormField.FieldInfo.DISPLAY :                case ModelFormField.FieldInfo.DISPLAY_ENTITY :                    ModelFormField.DisplayField displayField = (ModelFormField.DisplayField) fieldInfo;                    if (displayField.getAlsoHidden() && modelFormField.shouldUse(context)) {                        formStringRenderer.renderHiddenField(buffer, context, modelFormField, modelFormField.getEntry(context));                        // don't add to already rendered here, or the display won't ger rendered: if (alreadyRendered != null) alreadyRendered.add(modelFormField.getName());                    }         

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -