ArcGIS Pro 3.1 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / CatalogLayerCreationParams Class / DefinitionQuery Property
Example

In This Topic
    DefinitionQuery Property (CatalogLayerCreationParams)
    In This Topic
    Gets and sets a definition query with name.
    Syntax
    public DefinitionQuery DefinitionQuery {get; set;}
    Public Property DefinitionQuery As DefinitionQuery
    Example
    Create Catalog Layer using Uri to a Catalag Feature Class
    //Note: Call within QueuedTask.Run()
    var createParams = new CatalogLayerCreationParams(new Uri(@"C:\CatalogLayer\CatalogDS.gdb\HurricaneCatalogDS"));
    //Set the definition query
    createParams.DefinitionQuery = new DefinitionQuery("Query1", "cd_itemname = 'PuertoRico'");
    //Set name of the new Catalog Layer
    createParams.Name = "PuertoRico";
    //Create Layer
    var catalogLayer = LayerFactory.Instance.CreateLayer<CatalogLayer>(createParams, MapView.Active.Map);
    Create Catalog Layer using CatalogDataset
    //Note: Call within QueuedTask.Run()
    //Get the CatalogDataset of another Catalog layer
    var existingCatalogLayer = MapView.Active.Map.GetLayersAsFlattenedList().OfType<CatalogLayer>().FirstOrDefault();
    if (existingCatalogLayer != null)
    {
      var catalogDataset = existingCatalogLayer.GetCatalogDataset();
      //Configure the settings for a new Catalog layer using the CatalogDataset of an existing layer
      var catalogLyrParams = new CatalogLayerCreationParams(catalogDataset);
      catalogLyrParams.Name = "NewCatalogLayerFromAnotherCatalogLayer";
      catalogLyrParams.DefinitionQuery = new DefinitionQuery("Query1", "cd_itemname = 'Asia'");
      LayerFactory.Instance.CreateLayer<CatalogLayer>(catalogLyrParams, MapView.Active.Map);
    }
    Requirements

    Target Platforms: Windows 11, Windows 10

    ArcGIS Pro version: 3.1 or higher.
    See Also