

Public Class CIMRowTemplate Inherits CIMBasicRowTemplate Implements System.ComponentModel.INotifyPropertyChanged, System.Xml.Serialization.IXmlSerializable
public class CIMRowTemplate : CIMBasicRowTemplate, System.ComponentModel.INotifyPropertyChanged, System.Xml.Serialization.IXmlSerializable
await QueuedTask.Run(() => { var templateName = "Distribution"; // name of the template to update var toolDamlPlugInID = "esri_editing_SketchTwoPointLineTool"; // DAML ID of the tool to set as default var toolContentGUID = "e2096d13-b437-4bc1-94ea-4494c3260f72"; // Example GUID, replace with actual GUID from DAML // retrieve the edit template form the layer by name var template = featureLayer?.GetTemplate(templateName) as EditingTemplate; // get the definition of the layer var layerDef = featureLayer?.GetDefinition() as CIMFeatureLayer; if (template == null || layerDef == null) return; if (template.DefaultToolID != toolDamlPlugInID) { bool updateLayerDef = false; if (layerDef.AutoGenerateFeatureTemplates) { layerDef.AutoGenerateFeatureTemplates = false; updateLayerDef = true; } // retrieve the CIM edit template definition var templateDef = template.GetDefinition(); // assign the GUID from the tool DAML definition, for example // <tool id="TestConstructionTool_SampleSDKTool" categoryRefID="esri_editing_construction_polyline" ….> // <tooltip heading="">Tooltip text<disabledText /></tooltip> // <content guid="e58239b3-9c69-49e5-ad4d-bb2ba29ff3ea" /> // </tool> // then the toolContentGUID would be "e58239b3-9c69-49e5-ad4d-bb2ba29ff3ea" //templateDef.ToolProgID = toolContentGUID; templateDef.DefaultToolGUID = toolContentGUID; // set the definition back to template.SetDefinition(templateDef); // update the layer definition too if (updateLayerDef) featureLayer.SetDefinition(layerDef); } });
await QueuedTask.Run(() => { //hide all tools except line tool on a given feature layer var editTemplates = featureLayer.GetTemplates(); var newCIMEditingTemplates = new List<CIMEditingTemplate>(); foreach (var et in editTemplates) { //initialize template by activating default tool et.ActivateDefaultToolAsync(); var cimEditTemplate = et.GetDefinition(); //get the visible tools on this template var allTools = et.ToolIDs.ToList(); //add the hidden tools on this template allTools.AddRange(cimEditTemplate.GetExcludedToolIDs().ToList()); //hide all the tools then allow the line tool allTools.AddRange(cimEditTemplate.GetExcludedToolIDs().ToList()); cimEditTemplate.SetExcludedToolIDs(allTools.ToArray()); cimEditTemplate.AllowToolID("esri_editing_SketchLineTool"); newCIMEditingTemplates.Add(cimEditTemplate); } //update the layer templates var layerDef = featureLayer.GetDefinition() as CIMFeatureLayer; // Set AutoGenerateFeatureTemplates to false for template changes to stick layerDef.AutoGenerateFeatureTemplates = false; layerDef.FeatureTemplates = newCIMEditingTemplates.ToArray(); featureLayer.SetDefinition(layerDef); });
// Creates new table templates for the specified standalone table. await QueuedTask.Run(() => { var table = activeMap.GetStandaloneTablesAsFlattenedList().FirstOrDefault(); var tableTemplate = table.GetTemplate("Template1"); var definition = tableTemplate.GetDefinition(); definition.Description = "New definition"; definition.Name = "New name"; //Create new table template using this definition table.CreateTemplate(definition); //You can also create a new table template using this extension method. You can use this method the same way you use the layer.CreateTemplate method. table.CreateTemplate("New template name", "Template description", tags: ["tag 1", "tag 2"]); });
// Updates the definition of a specified table template by modifying its name and description. var table = activeMap.GetStandaloneTablesAsFlattenedList().FirstOrDefault(); await QueuedTask.Run(() => { // get a table template var tableTemplate = table.GetTemplate("Template1") ?? throw new Exception("No table template named 'Template1' found"); // get the definition var definition = tableTemplate.GetDefinition(); definition.Description = "New definition"; definition.Name = "New name"; // update the definition tableTemplate.SetDefinition(definition); });
System.Object
ArcGIS.Core.CIM.CIMObject
ArcGIS.Core.CIM.CIMEditingTemplate
ArcGIS.Core.CIM.CIMBasicRowTemplate
ArcGIS.Core.CIM.CIMRowTemplate
Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)