Cara Membuat Bagan ORG di C#

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#

  1. Konfigurasikan Aspose.Diagram API di sistem Anda untuk membuat bagan ORG
  2. Muat bentuk master dari stensil yang ada dengan kelas Diagram
  3. Tambahkan bentuk baru dan buat koneksi antar node
  4. 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#.

 Indonesian