Skip To Content

esri_fielddef_set (AutoLISP)

为文档要素图层的属性字段设置字段定义。 无法更新现有字段的字段 TYPE 或修改 web 要素图层字段定义。

语法

(esri_fielddef_set flname field_properties)

参数

  • flname | 字符串 | 必填 | 工程图中的现有要素图层名称。
  • field_properties| 关联列表 | 必填 | 点对形式的要素图层字段属性的关联列表。

    相关标注值类型值描述必填或可选
    "NAME"

    字符串

    字段名。

    必填

    "LENGTH"

    整型

    文本字段(仅限)的字段长度。

    可选(设置为 UI 默认值)

    "VALUE"

    变量

    默认字段值。

    可选(设置为 UI 默认值)

示例用法

尝试更新 Parks 要素图层的 Location 字段的定义。

(esri_fielddef_set "Parks"
(list
(cons "NAME" "Location")
(cons "LENGTH" 254)
(cons "VALUE" "CA")
))

结果示例用法

更新 Parks 要素图层的 Location 字段的定义,返回一个 true 列表:

(T)

返回值

以下是可能的返回值:

  • 如果成功,则该函数将返回一个 true 列表:(T)
  • 如果失败,则该函数将返回一个列表,其中第一个值为 nil,然后是一个包含键值 "Error" 的关联列表以及字符串形式的关联错误消息:(nil ( "Error" . "<message>"))

失败的返回值

出于以下任一原因,可能出现失败的返回值:

  • (nil ("Error" . "Field is not editable"))

    无法更新现有字段的字段类型或者修改 web 要素图层字段定义。

  • (nil ("Error" . "Input string was not in a correct format."))

    指定值的类型错误。

  • (nil ("Error" . "Feature layer not found."))

    指定的要素图层值不是工程图中的有效要素图层。

  • (nil ("Error" . "No edits made"))

    由于编写的例程存在问题,因此未进行任何编辑。