So erstellen Sie ein ORG-Diagramm in C#

In diesem Tutorial wird erklärt, wie man ein ORG-Diagramm in C# erstellt. Es bespricht das schrittweise Verfahren zur Systemkonfiguration und einen Codeausschnitt zur Entwicklung eines Organigramm-Erstellers in C#. Darüber hinaus kann dieses Code-Snippet entsprechend Ihren Anforderungen erweitert werden, um ein ORG chart zu erstellen.

Schritte zum Erstellen eines ORG-Diagramms in C#

  1. Konfigurieren Sie die Aspose.Diagram-API in Ihrem System, um ein ORG-Diagramm zu erstellen
  2. Laden Sie die Masterformen aus der vorhandenen Schablone mit der Klasse Diagram
  3. Fügen Sie neue Formen hinzu und erstellen Sie Verbindungen zwischen Knoten
  4. Legen Sie die Diagrammeigenschaften mit der Klasse LayoutOptions fest und speichern Sie das ausgegebene ORG-Diagrammdiagramm

Diese Schritte umfassen den Algorithmus zum Erstellen eines ORG-Diagrammgenerators in C#. Konfigurieren Sie als Voraussetzung die Umgebung und laden Sie die Master-Shapes aus einer vorhandenen Schablone. Anschließend fügen Sie die Formen und entsprechenden Verbindungen hinzu, bevor Sie die Ausgabediagrammdatei speichern.

Code zum Erstellen eines ORG-Diagramms in C#

using System;
using System.Collections.Generic;
class Program
{
static void Main(string[] args) // Create organization chart in C#
{
// Set the license
new Aspose.Diagram.License().SetLicense("License.lic");
// Load the masters
string visioStencil = "BasicShapes.vss";
const string rectangleMaster = "Rectangle";
const string connectorMaster = "Dynamic connector";
const int pageNumber = 0;
const double width = 1;
const double height = 1;
double pinX = 4.25;
double pinY = 9.5;
// Define the hierarchy
List listPos = new List(new string[] { "0", "0:0", "0:1", "0:2", "0:3", "0:4", "0:5", "0:6", "0:0:0", "0:0:1", "0:3:0", "0:3:1", "0:3:2", "0:6:0", "0:6:1" });
// Define a Hashtable for name and shape id
System.Collections.Hashtable shapeIdMap = new System.Collections.Hashtable();
// Create a new diagram
Aspose.Diagram.Diagram diagram = new Aspose.Diagram.Diagram(visioStencil);
diagram.Pages[pageNumber].PageSheet.PageProps.PageWidth.Value = 11;
foreach (string orgnode in listPos)
{
// Add a new rectangle shape
long rectangleId = diagram.AddShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
// Set the new shape's properties
Aspose.Diagram.Shape shape = diagram.Pages[pageNumber].Shapes.GetShape(rectangleId);
shape.Text.Value.Add(new Aspose.Diagram.Txt(orgnode));
shape.Name = orgnode;
shapeIdMap.Add(orgnode, rectangleId);
}
// Create connections between nodes
foreach (string orgName in listPos)
{
int lastColon = orgName.LastIndexOf(':');
if (lastColon > 0)
{
string parendName = orgName.Substring(0, lastColon);
long shapeId = (long)shapeIdMap[orgName];
long parentId = (long)shapeIdMap[parendName];
Aspose.Diagram.Shape connector1 = new Aspose.Diagram.Shape();
long connecter1Id = diagram.AddShape(connector1, connectorMaster, pageNumber);
diagram.Pages[pageNumber].ConnectShapesViaConnector(parentId, Aspose.Diagram.Manipulation.ConnectionPointPlace.Right,
shapeId, Aspose.Diagram.Manipulation.ConnectionPointPlace.Left, connecter1Id);
}
}
//auto layout CompactTree chart
Aspose.Diagram.AutoLayout.LayoutOptions compactTreeOptions = new Aspose.Diagram.AutoLayout.LayoutOptions
{
LayoutStyle = Aspose.Diagram.AutoLayout.LayoutStyle.CompactTree,
Direction = Aspose.Diagram.AutoLayout.LayoutDirection.DownThenRight,
EnlargePage = false
};
diagram.Pages[pageNumber].Layout(compactTreeOptions);
// Save diagram
diagram.Save("ORGChart_out.vsdx", Aspose.Diagram.SaveFileFormat.Vsdx);
Console.WriteLine("Done");
}
}

Dieses Code-Snippet wurde entwickelt, um ORG-Diagramm-Builder in C# zu erstellen. Sie können es jedoch an Ihre Bedürfnisse anpassen, indem Sie beispielsweise die Anzahl der rechteckigen Formen, Höhe, Breite, Position usw. in der AddShape-Methode ändern. Ebenso können Sie die Verbindungen zwischen Knoten mithilfe ihrer übergeordneten Shape-ID oder Verbindungspunkte bearbeiten, um Ihren Anforderungen gerecht zu werden.

In diesem grundlegenden Tutorial wurden die Details zum Erstellen eines ORG-Diagrammerstellers in C# behandelt. Wenn Sie hingegen ein Flussdiagramm zeichnen möchten, lesen Sie den Artikel auf So erstellen Sie ein Flussdiagramm in C#.

 Deutsch