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());
    }
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
Gets the cell .