Ez az oktatóanyag elmagyarázza, hogyan hozhat létre ORG-diagramot C#-ban. Leírja a rendszerbeállítás lépésenkénti eljárását és egy kódrészletet a Szervezeti diagram készítő C#-ban fejlesztéséhez. Ezenkívül ez a kódrészlet továbbfejleszthető egy ORG chart létrehozásához, az Ön igényei szerint.
Lépések az ORG-diagram létrehozásához C#-ban
- Állítsa be a rendszerében a Aspose.Diagram API-t egy ORG diagram létrehozásához
- Töltse be a mester alakzatokat a meglévő sablonból a Diagram osztállyal
- Adjon hozzá új alakzatokat, és hozzon létre kapcsolatokat a csomópontok között
- Állítsa be a diagram tulajdonságait a LayoutOptions osztály segítségével, és mentse el a kimeneti ORG diagram diagramot
Ezek a lépések lefedik az ORG diagramgenerátor létrehozásának algoritmusát C# nyelven. Előfeltételként konfigurálja a környezetet, és töltse be a mester alakzatokat egy meglévő sablonból. Ezt követően a kimeneti diagramfájl mentése előtt adja hozzá az alakzatokat és a megfelelő kapcsolatokat.
Kód az ORG-diagram létrehozásához C#-ban
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"); | |
} | |
} | |
Ez a kódrészlet úgy készült, hogy ORG diagramkészítőt készítsen C# nyelven. Azonban módosíthatja az igényeinek megfelelően, például módosíthatja a téglalap alakú formák számát, magasságát, szélességét, pozícióját stb. az AddShape metódusban. Hasonlóképpen manipulálhatja a csomópontok közötti kapcsolatokat a szülő alakazonosítójuk vagy a csatlakozási pontjaik segítségével, hogy megfeleljen az igényeinek.
Ez az alapvető oktatóanyag az ORG diagramkészítő C# nyelven történő létrehozásának részleteit ismerteti. Ha viszont folyamatábrát szeretne rajzolni, olvassa el a hogyan készítsünk folyamatábrát C#-ban cikket.