kd.bos.entity.property

## 类 FieldProp

- java.lang.Object
- - kd.bos.dataentity.metadata.dynamicobject.DynamicMetadata
  - - kd.bos.dataentity.metadata.dynamicobject.DynamicProperty
    - - kd.bos.dataentity.metadata.dynamicobject.DynamicSimpleProperty
      - - kd.bos.entity.property.FieldProp

- 所有已实现的接口:
    java.io.Serializable, java.lang.Cloneable, kd.bos.dataentity.metadata.IDataEntityProperty, kd.bos.dataentity.metadata.IMetadata, kd.bos.dataentity.metadata.ISimpleProperty, IFieldHandle, IValidatorHanlder
  直接已知子类:
    AdminDivisionProp, BooleanProp, ComboProp, DateTimeProp, DecimalProp, IconProp, PictureProp, PKFieldProp, TextProp, TimeProp

      @KSObject
      public class FieldProp
      extends kd.bos.dataentity.metadata.dynamicobject.DynamicSimpleProperty
      implements IFieldHandle, IValidatorHanlder

  字段属性
  另请参阅:
    序列化表格

- - ### 构造器概要

    构造器
    构造器和说明
    `FieldProp()`

  - ### 方法概要

    所有方法 实例方法 具体方法
    限定符和类型 | 方法和说明
    --- | ---
    `void` | `applyDefaultValue(IDataModel model, kd.bos.dataentity.entity.DynamicObject dataEntity, int rowIndex)` 获取字段默认值，将默认值填充到字段中 如果没有注入单据类型的默认值，取DefaultValue2得到的默认值 否则（有单据类型）取DefaultValue1（强制DefaultValue2有默认值也返回NULL，这里的处理有点绕。）
    `AnalysisField` | `createAnalysisField(MainEntityType mainType, java.lang.String propName)`
    `java.util.List<AnalysisField>` | `createAnalysisFields(MainEntityType mainType)`
    `java.util.Map<java.lang.String,java.lang.Object>` | `createEntityTreeNode(EntityTreeNode entityTreeNode)`
    `java.util.List<java.util.Map<java.lang.String,java.lang.Object>>` | `createEntityTreeNodes(EntityTreeNode parentEntityTreeNode)`
    `java.util.List<java.util.Map<java.lang.String,java.lang.Object>>` | `createEntityTreeNodes(EntityTreeNode parentEntityTreeNode, boolean isAllNode)`
    `FilterField` | `createFilterField(MainEntityType mainType, java.lang.String propName)` 输出过滤字段信息
    `java.util.List<FilterField>` | `createFilterFields(MainEntityType mainType)` 基于运行时字段元数据，构建过滤字段
    `java.lang.Object` | `getBasePropDisplayValue(java.lang.Object baseObj)` 获取基础资料属性在界面上展示的值
    `java.lang.String` | `getClientType()`
    `java.lang.String` | `getCompareGroupID()`
    `kd.bos.dataentity.metadata.dynamicobject.DynamicProperty` | `getCompareProp()`
    `java.util.List<CompareType>` | `getCompareTypes()`
    `java.lang.String` | `getDefaultCompareTypeId()`
    `java.lang.String` | `getDefaultMultiCompareTypeId()`
    `java.lang.Object` | `getDefValue()` 字段默认值配置，默认返回为null，即未配置默认值
    `FieldDefValue` | `getDefValue2()` 默认值设置，高级版，支持函数、计算公式等
    `int` | `getFeatures()` 字段的功能控制选项值
    `java.lang.String` | `getFilterControlType()`
    `AbstractColumnDesc` | `getListColumnDesc(ListField col)` 获取该属性对应列字段对应的格式化对象
    `java.util.List<AbstractValidator>` | `getValidators()`
    `IValueComparator` | `getValueComparator()`
    `boolean` | `isGroupControl()`
    `boolean` | `isMustInput()`
    `boolean` | `isSysField()` 是否系统属性，如内码、基础资料引用Id，多语言对应内部字段
    `boolean` | `isZeroShow()`
    `void` | `setCompareGroupID(java.lang.String compareGroupID)`
    `void` | `setDefaultCompareTypeId(java.lang.String defaultCompareTypeId)`
    `void` | `setDefaultMultiCompareTypeId(java.lang.String defaultMultiCompareTypeId)`
    `void` | `setDefValue(java.lang.Object defValue)`
    `void` | `setDefValue2(FieldDefValue defValue2)`
    `void` | `setFeatures(int features)`
    `void` | `setFieldValue(IDataModel model, java.lang.Object dataEntity, java.lang.Object value)`
    `void` | `setFieldValueForWebApi(IDataModel model, java.lang.Object dataEntity, java.lang.Object value)` WebApi上传数据时设置字段的值，特殊的字段需要值转换进行重载，缺省实现和 setFieldValue一致
    `void` | `setFilterControlType(java.lang.String filterControlType)`
    `void` | `setGroupControl(boolean groupControl)` 设置集团管控
    `void` | `setMustInput(boolean mustInput)`
    `void` | `setSysField(boolean value)`
    `void` | `setZeroShow(boolean zeroShow)`
    `java.lang.String` | `toString()`

    - ### 从类继承的方法 kd.bos.dataentity.metadata.dynamicobject.DynamicSimpleProperty

      `getDbType, getTableGroup, isEmpty, isEncrypt, isLocalizable, isPrimaryKey, resetValue, setDbType, setEncrypt, setPrimaryKey, setTableGroup, shouldSerializeValue`

    - ### 从类继承的方法 kd.bos.dataentity.metadata.dynamicobject.DynamicProperty

      `clone, createHashCode, findTrueProperty, getAlias, getDefaultValue, getDisplayName, getDTValue, getDTValueFast, getIsReadOnly, getName, getOrdinal, getParent, getPropertyType, getReadOnly, getValue, getValueFast, hasDefaultValue, resetDTValue, setAlias, setDefaultValue, setDisplayName, setDTValue, setDTValueFast, setName, setOrdinal, setValue, setValueFast`

    - ### 从类继承的方法 kd.bos.dataentity.metadata.dynamicobject.DynamicMetadata

      `equals, hashCode, isDbIgnore, setDbIgnore`

    - ### 从类继承的方法 java.lang.Object

      `getClass, notify, notifyAll, wait, wait, wait`

    - ### 从接口继承的方法 kd.bos.entity.property.IFieldHandle

      `afterCreateFilterColumn, getDbType, getDisplayName, getFieldDefaultValue, getFieldDefaultValue2, isAllowvoucher, isAnalysisField, isBulkEditable, isConvertTote, isCopyable, isExportable, isF7BatchFill, isImportable, isMultiFillable, isSeriesNewTote`

    - ### 从接口继承的方法 kd.bos.dataentity.metadata.IDataEntityProperty

      `getOrdinal, getParent, getPropertyType, getReadOnly, getValue, getValueFast, hasDefaultValue, isJsonSerialize, setValue, setValueFast`

    - ### 从接口继承的方法 kd.bos.dataentity.metadata.IMetadata

      `clone, getAlias, getDisplayName, getName, isDbIgnore`

- - ### 构造器详细资料

    - #### FieldProp

          public FieldProp()

  - ### 方法详细资料

    - #### isZeroShow

          public boolean isZeroShow()

      返回:
        是否显示为零

    - #### setZeroShow

          public void setZeroShow(boolean zeroShow)

      参数:
        `zeroShow` - 是否显示为零

    - #### isSysField

          @KSMethod
          public boolean isSysField()

      从接口复制的说明: `IFieldHandle`
      是否系统属性，如内码、基础资料引用Id，多语言对应内部字段
      指定者:
        `isSysField` 在接口中 `IFieldHandle`
      返回:

    - #### setSysField

          public void setSysField(boolean value)

    - #### getCompareGroupID

          public java.lang.String getCompareGroupID()

      指定者:
        `getCompareGroupID` 在接口中 `IFieldHandle`
      返回:
        默认比较符组标识

    - #### setCompareGroupID

          public void setCompareGroupID(java.lang.String compareGroupID)

      指定者:
        `setCompareGroupID` 在接口中 `IFieldHandle`
      参数:
        `compareGroupID` - 默认比较符组标识

    - #### getDefaultCompareTypeId

          public java.lang.String getDefaultCompareTypeId()

      指定者:
        `getDefaultCompareTypeId` 在接口中 `IFieldHandle`
      返回:
        默认比较符(单个值)

    - #### setDefaultCompareTypeId

          public void setDefaultCompareTypeId(java.lang.String defaultCompareTypeId)

      指定者:
        `setDefaultCompareTypeId` 在接口中 `IFieldHandle`
      参数:
        `defaultCompareTypeId` - 默认比较符(单个值)

    - #### getDefaultMultiCompareTypeId

          public java.lang.String getDefaultMultiCompareTypeId()

      指定者:
        `getDefaultMultiCompareTypeId` 在接口中 `IFieldHandle`
      返回:
        默认比较符(多个值)

    - #### setDefaultMultiCompareTypeId

          public void setDefaultMultiCompareTypeId(java.lang.String defaultMultiCompareTypeId)

      指定者:
        `setDefaultMultiCompareTypeId` 在接口中 `IFieldHandle`
      参数:
        `defaultMultiCompareTypeId` - 默认比较符(多个值)

    - #### isMustInput

          @KSMethod
          public boolean isMustInput()

      返回:
        是否必录

    - #### setMustInput

          public void setMustInput(boolean mustInput)

      参数:
        `mustInput` - 是否必录

    - #### isGroupControl

          @KSMethod
          public boolean isGroupControl()

    - #### setGroupControl

          public void setGroupControl(boolean groupControl)

      从接口复制的说明: `IFieldHandle`
      设置集团管控
      指定者:
        `setGroupControl` 在接口中 `IFieldHandle`

    - #### getDefValue

          @KSMethod
          public java.lang.Object getDefValue()

      从接口复制的说明: `IFieldHandle`
      字段默认值配置，默认返回为null，即未配置默认值
      指定者:
        `getDefValue` 在接口中 `IFieldHandle`
      返回:
        默认值，基础版，仅支持常量、变量

    - #### setDefValue

          public void setDefValue(java.lang.Object defValue)

      参数:
        `defValue` - 默认值

    - #### getDefValue2

          @KSMethod
          public FieldDefValue getDefValue2()

      默认值设置，高级版，支持函数、计算公式等
      指定者:
        `getDefValue2` 在接口中 `IFieldHandle`
      返回:

    - #### setDefValue2

          public void setDefValue2(FieldDefValue defValue2)

    - #### getFeatures

          @KSMethod
          public int getFeatures()

      字段的功能控制选项值
      指定者:
        `getFeatures` 在接口中 `IFieldHandle`
      返回:

    - #### setFeatures

          public void setFeatures(int features)

      指定者:
        `setFeatures` 在接口中 `IFieldHandle`

    - #### setFieldValue

          @KSMethod
          public void setFieldValue(IDataModel model,
                                               java.lang.Object dataEntity,
                                               java.lang.Object value)

      指定者:
        `setFieldValue` 在接口中 `IFieldHandle`

    - #### setFieldValueForWebApi

          public void setFieldValueForWebApi(IDataModel model,
                                             java.lang.Object dataEntity,
                                             java.lang.Object value)

      WebApi上传数据时设置字段的值，特殊的字段需要值转换进行重载，缺省实现和 setFieldValue一致
      指定者:
        `setFieldValueForWebApi` 在接口中 `IFieldHandle`
      参数:
        `model` -
        `dataEntity` -
        `value` -

    - #### getCompareProp

          public kd.bos.dataentity.metadata.dynamicobject.DynamicProperty getCompareProp()

      指定者:
        `getCompareProp` 在接口中 `IValidatorHanlder`

    - #### getValueComparator

          public IValueComparator getValueComparator()

      指定者:
        `getValueComparator` 在接口中 `IValidatorHanlder`

    - #### getValidators

          public java.util.List<AbstractValidator> getValidators()

      指定者:
        `getValidators` 在接口中 `IValidatorHanlder`

    - #### getListColumnDesc

          public AbstractColumnDesc getListColumnDesc(ListField col)

      从接口复制的说明: `IFieldHandle`
      获取该属性对应列字段对应的格式化对象
      指定者:
        `getListColumnDesc` 在接口中 `IFieldHandle`
      返回:

    - #### applyDefaultValue

          @KSMethod
          public void applyDefaultValue(IDataModel model,
                                                   kd.bos.dataentity.entity.DynamicObject dataEntity,
                                                   int rowIndex)

      获取字段默认值，将默认值填充到字段中 如果没有注入单据类型的默认值，取DefaultValue2得到的默认值 否则（有单据类型）取DefaultValue1（强制DefaultValue2有默认值也返回NULL，这里的处理有点绕。）
      指定者:
        `applyDefaultValue` 在接口中 `IFieldHandle`

    - #### getCompareTypes

          public java.util.List<CompareType> getCompareTypes()

      指定者:
        `getCompareTypes` 在接口中 `IFieldHandle`
      返回:
        字段比较符集合

    - #### getClientType

          @KSMethod
          public java.lang.String getClientType()

    - #### createEntityTreeNode

          public java.util.Map<java.lang.String,java.lang.Object> createEntityTreeNode(EntityTreeNode entityTreeNode)

    - #### createFilterField

          public FilterField createFilterField(MainEntityType mainType,
                                               java.lang.String propName)

      输出过滤字段信息
      指定者:
        `createFilterField` 在接口中 `IFieldHandle`
      返回:

    - #### createFilterFields

          public java.util.List<FilterField> createFilterFields(MainEntityType mainType)

      基于运行时字段元数据，构建过滤字段
      指定者:
        `createFilterFields` 在接口中 `IFieldHandle`
      返回:

    - #### createAnalysisFields

          public java.util.List<AnalysisField> createAnalysisFields(MainEntityType mainType)

      指定者:
        `createAnalysisFields` 在接口中 `IFieldHandle`

    - #### createAnalysisField

          public AnalysisField createAnalysisField(MainEntityType mainType,
                                                   java.lang.String propName)

      指定者:
        `createAnalysisField` 在接口中 `IFieldHandle`

    - #### toString

          public java.lang.String toString()

      覆盖:
        `toString` 在类中 `kd.bos.dataentity.metadata.dynamicobject.DynamicSimpleProperty`

    - #### createEntityTreeNodes

          public java.util.List<java.util.Map<java.lang.String,java.lang.Object>> createEntityTreeNodes(EntityTreeNode parentEntityTreeNode)

      指定者:
        `createEntityTreeNodes` 在接口中 `IFieldHandle`

    - #### setFilterControlType

          public void setFilterControlType(java.lang.String filterControlType)

      指定者:
        `setFilterControlType` 在接口中 `IFieldHandle`

    - #### getFilterControlType

          public java.lang.String getFilterControlType()

      指定者:
        `getFilterControlType` 在接口中 `IFieldHandle`
      返回:
        过滤控件类型

    - #### createEntityTreeNodes

          public java.util.List<java.util.Map<java.lang.String,java.lang.Object>> createEntityTreeNodes(EntityTreeNode parentEntityTreeNode,
                                                                                                        boolean isAllNode)

      指定者:
        `createEntityTreeNodes` 在接口中 `IFieldHandle`

    - #### getBasePropDisplayValue

          public java.lang.Object getBasePropDisplayValue(java.lang.Object baseObj)

      从接口复制的说明: `IFieldHandle`
      获取基础资料属性在界面上展示的值
      指定者:
        `getBasePropDisplayValue` 在接口中 `IFieldHandle`
      参数:
        `baseObj` - 基础资料的动态对象
      返回:
        基础资料属性在界面上展示的值