Tutorial ini menjelaskan cara membuat diagram ORG di C#. Ini membahas prosedur bertahap konfigurasi sistem dan cuplikan kode untuk mengembangkan Pembuat bagan organisasi di C#. Selanjutnya, cuplikan kode ini dapat ditingkatkan untuk membuat ORG chart sesuai kebutuhan Anda.
Langkah-langkah Membuat Bagan ORG di C#
- Konfigurasikan Aspose.Diagram API di sistem Anda untuk membuat bagan ORG
- Muat bentuk master dari stensil yang ada dengan kelas Diagram
- Tambahkan bentuk baru dan buat koneksi antar node
- Atur properti bagan menggunakan kelas LayoutOptions dan simpan diagram bagan ORG keluaran
Langkah-langkah ini mencakup algoritma untuk membuat ORG chart generator di C#. Sebagai prasyarat, konfigurasikan lingkungan dan muat bentuk master dari stensil yang ada. Selanjutnya, tambahkan bentuk dan koneksi masing-masing sebelum menyimpan file diagram keluaran.
Kode untuk Membuat Bagan ORG di 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"); | |
} | |
} | |
Cuplikan kode ini dirancang untuk membuat pembuat bagan ORG di C#. Namun, Anda dapat memodifikasinya sesuai kebutuhan Anda seperti mengubah jumlah bentuk persegi panjang, tinggi, lebar, posisi, dll dalam metode AddShape. Demikian pula, Anda dapat memanipulasi koneksi antar node menggunakan ID bentuk induknya atau titik koneksi untuk memenuhi kebutuhan Anda.
Tutorial dasar ini telah membahas detail pembuatan pembuat grafik ORG di C#. Sedangkan jika anda ingin menggambar flowchart maka bacalah artikel di cara membuat diagram alur di C#.