FieldColumnTemplate 可格式化并定义 FeatureTable 微件中 FieldColumn 的结构。
FieldColumnTemplate 直接在表的 template 或其视图模型上进行设置。FeatureTable 的表模板包含字段和/或组列模板的集合。
const fieldColumnTemplate = new FieldColumnTemplate({
fieldName: "full_name",
label: "Full name",
direction: "asc", // In order to use initialSortPriority, make sure direction is set
initialSortPriority: 0 // This field's sort order takes the highest priority.
});
构造函数
属性概述
名称 | 类型 | 描述 | 类 |
---|---|---|---|
String | 类的名称。 更多详情 | Accessor | |
String|null | 控制列的排序顺序。 更多详情 | ColumnTemplateBase | |
CodedValueDomain|RangeDomain | 更多详情 | FieldColumnTemplate | |
Boolean | 指示字段是否可编辑。 更多详情 | FieldColumnTemplate | |
String | 由要素图层定义的字段名称。 更多详情 | FieldColumnTemplate | |
Number | 将其与 FeatureTable.multiSortEnabled 和 FeatureTable.direction 属性结合使用,以设置对多个列的排序功能。 更多详情 | ColumnTemplateBase | |
String | 包含列别名的字符串值。 更多详情 | ColumnTemplateBase | |
ButtonMenuConfig | 设置此对象可自定义列的菜单内容。 更多详情 | ColumnTemplateBase | |
Boolean | 指示字段是否需要值。 更多详情 | FieldColumnTemplate | |
Boolean | 指示是否可以对字段列进行排序。 更多详情 | ColumnTemplateBase | |
String | 水平对齐列单元格内容。 更多详情 | ColumnTemplateBase | |
String | 模板表示的列的“类型”。 更多详情 | FieldColumnTemplate | |
Boolean | 指示列是否可见。 更多详情 | ColumnTemplateBase |
属性详细信息
-
类的名称。声明的类名称格式化为
geoscene.folder.className
。
-
控制列的排序顺序。此属性将仅在 FeatureTable 微件中的一列上使用。如果在同一 FeatureTable 中的多个 fieldColumn 上指定了方向,则仅会在最大索引的列上执行。例如,假设名为
ObjectId
的第一个列设置为asc
,而表顺序后面的另一列也具有设置方向,则对于具有设置方向的最后一列,初始ObjectId
列的方向将被忽略。将其与 FieldColumnTemplate.initialSortPriority 和 FeatureTable.multiSortEnabled 属性结合使用,以设置对多个列的排序功能。
可能值 描述 asc 按升序对列进行排序。 desc 按降序对列进行排序。 null 不会对列应用任何排序。 可能值:"asc"|"desc"
-
editable Boolean
-
指示字段是否可编辑。编辑权限可以按以下优先级进行细分:
- Field - 这派生自 FeatureLayer 或 SceneLayer。它采用在 Field.editable 属性中设置的内容。要启用编辑,这必须始终为
true
。可以使用字段列模板来覆盖此内容。 - Template - 可以通过设置 FieldColumnTemplate 的 editable 属性来配置字段的可编辑权限。
- FeatureTable - 必须在表上设置 editingEnabled 属性,才能启用任何类型的编辑。
例如,如果在微件中禁用了表编辑,即不设置
enableEditing
,仍可通过设置 editable 属性来启用对特定列的编辑。反之亦然,如果启用了表编辑,则可使用字段模板来禁用对特定列的编辑。最终,如果服务的字段不可编辑,则无法使用上述选项之一覆盖其权限。
- Field - 这派生自 FeatureLayer 或 SceneLayer。它采用在 Field.editable 属性中设置的内容。要启用编辑,这必须始终为
-
fieldName String
-
由要素图层定义的字段名称。
-
将其与 FeatureTable.multiSortEnabled 和 FeatureTable.direction 属性结合使用,以设置对多个列的排序功能。与其他列相比,此属性指示排序列的索引,数字越小,优先级越高。
如果未设置排序优先级,则优先级默认为最近排序的列。在通过 UI 进行排序时,或通过调用 FeatureTable.sortColumn 以编程方式排序时,会发生这种情况。例如,使用下面的示例代码段,针对三列设置了排序优先级,其中 "Status” 具有最小优先级。调用
table.sortColumn("Status", "asc")
会将Status
列更新为最高优先级。如果通过列 UI 手动排序,也会发生这种情况。- 默认值:null
- 另请参阅
示例const table = new FeatureTable({ layer: featureLayer, multiSortEnabled: true, tableTemplate: { // autocastable to TableTemplate columnTemplates: [{ // autocastable to FieldColumnTemplate fieldName: "ObjectId", direction: "asc", initialSortPriority: 1, // This field's sort order takes second-highest priority. }, { fieldName: "Name", direction: "asc", initialSortPriority: 0, // This field's sort order takes the highest priority. }, { fieldName: "Status", direction: "asc", initialSortPriority: 2 // This field's sort order is prioritized after Name and ObjectId, respectively. }] } container: "tableDiv" });
-
包含列别名的字符串值。
-
-
设置此对象可自定义列的菜单内容。
-
required Boolean
-
指示字段是否需要值。
- 默认值:false
-
指示是否可以对字段列进行排序。
- 默认值:true
-
水平对齐列单元格内容。支持的值:"start" | "center" | "end".
可能值:"start"|"center"|"end"
- 默认值:start
-
type Stringreadonly
-
模板表示的列的“类型”。
对于 FieldColumnTemplate,类型总是 "field"。
-
指示列是否可见。
- 默认值:true
方法概述
名称 | 返回值类值 | 描述 | 类 |
---|---|---|---|
添加一个或多个与对象的生命周期相关联的句柄。 更多详情 | Accessor | ||
* | 创建此类的新实例并使用从 GeoScene 产品生成的 JSON 对象值对其进行初始化。 更多详情 | ColumnTemplateBase | |
Boolean | 如果存在指定的句柄组,则返回 true。 更多详情 | Accessor | |
移除对象拥有的句柄组。 更多详情 | Accessor | ||
Object | 将此类的实例转换为 GeoScene Portal JSON 表示。 更多详情 | ColumnTemplateBase |
方法详细说明
-
addHandles(handleOrHandles, groupKey)inherited起始版本:GeoScene Maps SDK for JavaScript 4.25
-
添加一个或多个与对象的生命周期相关联的句柄。当对象被销毁时,将移除句柄。
// Manually manage handles const handle = reactiveUtils.when( () => !view.updating, () => { wkidSelect.disabled = false; }, { once: true } ); // Handle gets removed when the object is destroyed. this.addHandles(handle);
参数handleOrHandles WatchHandle|WatchHandle[]对象销毁后,标记为要移除的句柄。
groupKey *optional标识句柄应添加到的组的键。组中的所有句柄稍后都可使用 Accessor.removeHandles() 进行删除。如果未提供键,则句柄将被添加到默认组。
-
fromJSON(json){*}static
-
创建此类的新实例并使用从 GeoScene 产品生成的 JSON 对象值对其进行初始化。传入到输入
json
参数的对象通常来自对 REST API 中查询操作的响应或来自另一个 GeoScene 产品的 toJSON() 方法。有关何时以及如何使用该函数的详细信息和示例,请参阅指南中的使用 fromJSON() 主题。参数json ObjectGeoScene 格式实例的 JSON 表示。有关各种输入 JSON 对象的结构示例,请参阅 GeoScene REST API 文档。
返回类型 描述 * 返回该类的新实例。
-
起始版本:GeoScene Maps SDK for JavaScript 4.25
-
如果存在指定的句柄组,则返回 true。
参数groupKey *optional组键。
返回类型 描述 Boolean 如果存在指定的句柄组,则返回 true
。示例// Remove a named group of handles if they exist. if (obj.hasHandles("watch-view-updates")) { obj.removeHandles("watch-view-updates"); }
-
removeHandles(groupKey)inherited起始版本:GeoScene Maps SDK for JavaScript 4.25
-
移除对象拥有的句柄组。
参数groupKey *optional要移除的组键或组键的数组或集合。
示例obj.removeHandles(); // removes handles from default group obj.removeHandles("handle-group"); obj.removeHandles("other-handle-group");
-
将此类的实例转换为 GeoScene Portal JSON 表示。有关详细信息,请参阅使用 fromJSON() 指南主题。
返回类型 描述 Object 此类实例的 GeoScene Portal JSON 表示。