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#
- Konfigurieren Sie die Aspose.Diagram-API in Ihrem System, um ein ORG-Diagramm zu erstellen
- Laden Sie die Masterformen aus der vorhandenen Schablone mit der Klasse Diagram
- Fügen Sie neue Formen hinzu und erstellen Sie Verbindungen zwischen Knoten
- 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#.