ArcGIS Pro 3.7 API Reference Guide
ArcGIS.Core.Data.NetworkDiagrams Namespace / NetworkDiagram Class / QueryDiagramElements Method / QueryDiagramElements(DiagramElementQueryByElementTypes) Method
The DiagramElementQueryByElementTypes used to search for diagram elements.
Example

In This Topic
    QueryDiagramElements(DiagramElementQueryByElementTypes) Method
    In This Topic
    Query diagram elements contained in this network diagram. This method must be called on the MCT. Use QueuedTask.Run.
    Syntax
    Public Overloads Function QueryDiagramElements( _
       ByVal query As DiagramElementQueryByElementTypes _
    ) As DiagramElementQueryResult

    Parameters

    query
    The DiagramElementQueryByElementTypes used to search for diagram elements.

    Return Value

    A DiagramElementQueryResult containing the queried diagram elements.
    Exceptions
    ExceptionDescription
    A geodatabase-related exception has occurred.
    Example
    Change the Layout of a Network Diagram
    {
      // Change the layout of a network diagram by querying for all the diagram elements, editing their shapes,
      static void ChangeDiagramLayout(DiagramManager diagramManager, string diagramName)
      {
        // Retrieve a diagram
        using (NetworkDiagram diagramTest = diagramManager.GetNetworkDiagram(diagramName))
        {
          // Create a DiagramElementQueryByElementTypes query object to get the diagram elements we want to work with
          DiagramElementQueryByElementTypes query = new DiagramElementQueryByElementTypes();
          query.QueryDiagramJunctionElement = true;
          query.QueryDiagramEdgeElement = true;
          query.QueryDiagramContainerElement = true;
    
          // Retrieve those diagram elements
          DiagramElementQueryResult elements = diagramTest.QueryDiagramElements(query);
    
          // Create a NetworkDiagramSubset object to edit this set of diagram elements
          NetworkDiagramSubset subset = new NetworkDiagramSubset();
          subset.DiagramJunctionElements = elements.DiagramJunctionElements;
          subset.DiagramEdgeElements = elements.DiagramEdgeElements;
          subset.DiagramContainerElements = elements.DiagramContainerElements;
    
          // Save the new layout of the diagram elements
          diagramTest.SaveLayout(subset, true);
        }
      }
    }
    Requirements

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

    ArcGIS Pro version: 3.0 or higher.
    See Also