src/main/java/org/efaps/ui/wicket/models/objects/grid/UIGrid.java
protected GridCell getCell(final GridColumn _column,
                           final UIValue _uiValue,
                           final Object _sortValue,
                           final Map<Long, JSField> _fields)
        throws EFapsException
    {
        JSField jsField;
        if (_fields.containsKey(_uiValue.getField().getId())) {
            jsField = _fields.get(_uiValue.getField().getId());
        } else {
            jsField = new JSField(_uiValue);
            final IComponentFactory fact = jsField.getFactory();
            if (fact == null) {
                _fields.put(_uiValue.getField().getId(), null);
                jsField = null;
            } else {
                _fields.put(_uiValue.getField().getId(), jsField);
                if (fact instanceof DateUIFactory) {
                    _column.setDataType("date");
                } else if (fact instanceof DateTimeUIFactory) {
                    _column.setDataType("datetime");
                } else if (fact instanceof DecimalUIFactory || fact instanceof NumberUIFactory) {
                    _column.setDataType("number");
                } else if (fact instanceof BooleanUIFactory) {
                    _column.setDataType("enum");
                    @SuppressWarnings("unchecked")
                    final Map<String, ?> enumValues = (Map<String, ?>) _uiValue.getReadOnlyValue(TargetMode.VIEW);
                    _column.setEnumValues(enumValues.keySet());
                }
            }
        }
        final String value;
        if (jsField == null) {
            value = "";
        } else {
            jsField.setValue(_uiValue);
            value = jsField.getFactory().getStringValue(jsField);
        }
        return  new GridCell().setValue(value)
                        .setSortValue(_sortValue)
                        .setFieldConfig(_column.getFieldConfig());
    }
protected GridCell getCell(final GridColumn _column,
                           final UIValue _uiValue,
                           final Object _sortValue,
                           final Map<Long, JSField> _fields)
        throws EFapsException
    {
        JSField jsField;
        if (_fields.containsKey(_uiValue.getField().getId())) {
            jsField = _fields.get(_uiValue.getField().getId());
        } else {
            jsField = new JSField(_uiValue);
            final IComponentFactory fact = jsField.getFactory();
            if (fact == null) {
                _fields.put(_uiValue.getField().getId(), null);
                jsField = null;
            } else {
                _fields.put(_uiValue.getField().getId(), jsField);
                if (fact instanceof DateUIFactory) {
                    _column.setDataType("date");
                } else if (fact instanceof DateTimeUIFactory) {
                    _column.setDataType("datetime");
                } else if (fact instanceof DecimalUIFactory || fact instanceof NumberUIFactory) {
                    _column.setDataType("number");
                } else if (fact instanceof BooleanUIFactory) {
                    _column.setDataType("enum");
                    @SuppressWarnings("unchecked")
                    final Map<String, ?> enumValues = (Map<String, ?>) _uiValue.getReadOnlyValue(TargetMode.VIEW);
                    _column.setEnumValues(enumValues.keySet());
                }
            }
        }
        final String value;
        if (jsField == null) {
            value = "";
        } else {
            jsField.setValue(_uiValue);
            value = jsField.getFactory().getStringValue(jsField);
        }
        return  new GridCell().setValue(value)
                        .setSortValue(_sortValue)
                        .setFieldConfig(_column.getFieldConfig());
    }
Gets the cell.

@param _column the column
@param _uiValue the ui value
@param _sortValue the sort value
@param _fields the fields
@return the cell
@throws EFapsException the e faps exception