ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Desktop.Mapping Namespace / BulkLayerCreationParams Class / MapMemberIndex Property
Example

In This Topic
    MapMemberIndex Property (BulkLayerCreationParams)
    In This Topic
    Gets and sets the index of the first layer in the map or group layer. All subsequent layers added will follow this first layer. MapMemberPosition must be set to MapMemberPosition.Index for this value to honored. If MapMemberPosition is set to MapMemberPosition.Index and this value is NOT set, then the behavior will revert to auto arrange.
    Syntax
    Public Shadows Property MapMemberIndex As Integer
    public new int MapMemberIndex {get; set;}
    Remarks
    If the set of layers to be added are specified by a set of LayerCreationParams objects, then this property overrides the individual MapMemberIndex properties.
    Example
    Create multiple layers with BulkLayerCreationParams 1
    {
        //Uris to the datasets for the layers to be created
        var uriShp = new Uri(@"c:\data\roads.shp");
        var uriSde = new Uri(@"c:\MyDataConnections\MySDE.sde\Census");
        var uri = new Uri(@"http://sampleserver6.arcgisonline.com/arcgis/rest/services/NapervilleShelters/FeatureServer/0");
        // Create a list of URIs to be used for creating multiple layers
        var uris = new List<Uri>() { uriShp, uriSde, uri }; ;
    
        // set the index and visibility
        var blkParams = new BulkLayerCreationParams(uris);
        blkParams.MapMemberPosition = MapMemberPosition.Index;
        blkParams.MapMemberIndex = 2;
        blkParams.IsVisible = false;
        // Create multiple layers using the BulkLayerCreationParams
        //Note: Needs QueuedTask to run
        var layers = LayerFactory.Instance.CreateLayers(blkParams, MapView.Active.Map);
    }
    Create multiple layers with BulkLayerCreationParams 2 - Valid
    {
    
        var uriShp = new Uri(@"c:\data\roads.shp");
        var uriSde = new Uri(@"c:\MyDataConnections\MySDE.sde\Census");
        var uri = new Uri(@"http://sampleserver6.arcgisonline.com/arcgis/rest/services/NapervilleShelters/FeatureServer/0");
    
        var lcpShp = new FeatureLayerCreationParams(uriShp);
        lcpShp.Name = "Roads";
        lcpShp.IsVisible = false;
        lcpShp.DefinitionQuery = new DefinitionQuery("shpQuery", "OBJECTID > 10");
    
        var lcpSde = new FeatureLayerCreationParams(uriSde);
        lcpSde.Name = "Census Polygons";
        lcpSde.IsVisible = true;
    
        var lcpService = new FeatureLayerCreationParams(uri);
        lcpService.Name = "Shelters";
        lcpService.IsVisible = true;
        // set some renderer here ...
        //lcpService.RendererDefinition = ...
    
        var lcps = new List<FeatureLayerCreationParams>();
        lcps.Add(lcpShp);
        lcps.Add(lcpSde);
        lcps.Add(lcpService);
    
        var blkParams = new BulkLayerCreationParams(lcps);
        // set the positioning on the BulkLayerCreationParams
        blkParams.MapMemberPosition = MapMemberPosition.Index;
        blkParams.MapMemberIndex = 0;
    
        var layers = LayerFactory.Instance.CreateLayers(blkParams, MapView.Active.Map);
    }
    Create multiple layers with BulkLayerCreationParams - Using RollbackBehavior
    {
    
        var uriShp = new Uri(@"c:\data\roads.shp");
        var uriSde = new Uri(@"c:\MyDataConnections\MySDE.sde\Census");
        var uri = new Uri(@"http://sampleserver6.arcgisonline.com/arcgis/rest/services/NapervilleShelters/FeatureServer/0");
    
        var lcpShp = new FeatureLayerCreationParams(uriShp);
        lcpShp.Name = "Roads";
        lcpShp.IsVisible = false;
        lcpShp.DefinitionQuery = new DefinitionQuery("shpQuery", "OBJECTID > 10");
    
        var lcpSde = new FeatureLayerCreationParams(uriSde);
        lcpSde.Name = "Census Polygons";
        lcpSde.IsVisible = true;
    
        var lcpService = new FeatureLayerCreationParams(uri);
        lcpService.Name = "Shelters";
        lcpService.IsVisible = true;
        // set some renderer here ...
        //lcpService.RendererDefinition = ...
    
        var lcps = new List<FeatureLayerCreationParams>();
        lcps.Add(lcpShp);
        lcps.Add(lcpSde);
        lcps.Add(lcpService);
    
        var blkParams = new BulkLayerCreationParams(lcps);
        // set the positioning on the BulkLayerCreationParams
        blkParams.MapMemberPosition = MapMemberPosition.Index;
        blkParams.MapMemberIndex = 0;
    
        // set the rollback behavior
        // - rollback if one or more layers cannot be created due to an invalid data source
        blkParams.RollbackBehavior = LayerCreationRollbackBehavior.RollbackOnMissingLayers;
    
        var layers = LayerFactory.Instance.CreateLayers(blkParams, MapView.Active.Map);
    }
    Requirements

    Target Platforms: Windows 11 Home, Pro, Enterprise (64 bit)

    ArcGIS Pro version: 3.6 or higher.
    See Also