In deze tutorial wordt uitgelegd hoe u een ORG-diagram maakt in C#. Het bespreekt de stapsgewijze procedure voor de systeemconfiguratie en een codefragment om een Organisatiediagrammaker in C# te ontwikkelen. Bovendien kan dit codefragment worden verbeterd om een ORG chart te maken volgens uw vereisten.
Stappen om een organigram te maken in C#
- Configureer de Aspose.Diagram API in uw systeem om een organigram te maken
- Laad de mastervormen van het bestaande stencil met de klasse Diagram
- Voeg nieuwe vormen toe en maak verbindingen tussen knooppunten
- Stel de diagrameigenschappen in met behulp van de klasse LayoutOptions en sla het uitgevoerde ORG-diagramdiagram op
Deze stappen behandelen het algoritme voor het maken van een ORG-diagramgenerator in C#. Configureer als vereiste de omgeving en laad de mastervormen vanuit een bestaand stencil. Voeg vervolgens de vormen en respectievelijke verbindingen toe voordat u het uitvoerdiagrambestand opslaat.
Code om een organigram te maken 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"); | |
} | |
} | |
Dit codefragment is ontworpen om ORG-diagrambouwer te maken in C#. U kunt het echter aanpassen aan uw behoeften, zoals het wijzigen van het aantal rechthoekige vormen, hoogte, breedte, positie, enz. in de AddShape-methode. Op dezelfde manier kunt u de verbindingen tussen knooppunten manipuleren met behulp van hun bovenliggende vorm-ID of verbindingspunten om aan uw vereisten te voldoen.
In deze basistutorial worden de details behandeld van het maken van een ORG-diagrammaker in C#. Terwijl, als u een stroomdiagram wilt tekenen, u het artikel op Hoe een stroomdiagram te maken in C# kunt lezen.