צור תרשים ארגוני csharp.png C#

תרשים ארגוני משמש כדי לתאר את המבנה של עסק, ממשלה או ארגון. ניתן לבזות אותם מסיבות שונות כמו קביעת מדיניות או מטרות תכנון. אתה יכול ליצור סוגים שונים של תרשימים ארגוניים על ידי יצירת צורות ומחברים שונים. מאמר זה מכסה כיצד ליצור תרשים ארגוני ב-C#.

יוצר תרשימים ארגוניים – התקנת API של C#

ניתן להשתמש ב-API Aspose.Diagram for .NET ליצירת דיאגרמות ותרשימים שונים של Visio. אתה יכול להגדיר בקלות את ממשק ה-API על ידי הורדת קובץ העזר שלו מהדף מהדורות חדשות או שימוש בפקודת ההתקנה הבאה של NuGet:

PM> Install-Package Aspose.Diagram

צור תרשים ארגוני בסגנון CompactTree ב-C#

אתה יכול ליצור תרשים ארגוני בסגנון CompactTree על ידי ביצוע השלבים הבאים:

  1. טען מאסטרים מכל דיאגרמה, סטנסיל או תבנית קיימים.
  2. הגדר ערכים לבניית ההיררכיה.
  3. הוסף צורות וחיבורים בין צמתים.
  4. שמור את דיאגרמת הפלט.

קטע הקוד שלהלן מסביר כיצד ליצור תרשים ארגוני ב-C#:

// טען מאסטרים מכל דיאגרמה, סטנסיל או תבנית קיימים
string visioStencil = "Basic Shapes.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;
// הגדר ערכים לבניית ההיררכיה
List<string> listPos = new List<string>(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" });
// הגדר Hashtable כדי למפות את שם המחרוזת למזהה צורה ארוכה
Hashtable shapeIdMap = new Hashtable();
// צור תרשים חדש
Diagram diagram = new Diagram(visioStencil);
diagram.Pages[pageNumber].PageSheet.PageProps.PageWidth.Value = 11;
foreach (string orgnode in listPos)
{
    // הוסף צורת מלבן חדשה
    long rectangleId = diagram.AddShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // הגדר את מאפייני הצורה החדשה
    Shape shape = diagram.Pages[pageNumber].Shapes.GetShape(rectangleId);
    shape.Text.Value.Add(new Txt(orgnode));
    shape.Name = orgnode;
    shapeIdMap.Add(orgnode, rectangleId);
}
// צור קשרים בין צמתים
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];
        Shape connector1 = new Shape();
        long connecter1Id = diagram.AddShape(connector1, connectorMaster, pageNumber);
        diagram.Pages[pageNumber].ConnectShapesViaConnector(parentId, ConnectionPointPlace.Right,
            shapeId, ConnectionPointPlace.Left, connecter1Id);
    }
}

//פריסה אוטומטית תרשים CompactTree
LayoutOptions compactTreeOptions = new LayoutOptions
{
    LayoutStyle = LayoutStyle.CompactTree,
    Direction = LayoutDirection.DownThenRight,
    EnlargePage = false
};

diagram.Pages[pageNumber].Layout(compactTreeOptions);

// שמור דיאגרמה
diagram.Save("CompactTreeChart_out.vsdx", SaveFileFormat.VSDX);

צילום המסך הבא מציג את התרשים הארגוני של הפלט שנוצר עם קטע הקוד שלמעלה:

צור תרשים ארגוני C#

צור תרשים ארגוני בסגנון תרשים זרימה ב-C#

ייתכן שיהיה עליך ליצור סוגים שונים של תרשימים ארגוניים שעשויים לעקוב אחר תבניות שונות. כאן תלמד כיצד ליצור תרשים ארגוני בסגנון תרשים זרימה באופן תכנותי ב-C#:

  1. טען מאסטרים מכל דיאגרמה, סטנסיל או תבנית קיימים.
  2. הוסף צמתים ומחברים של הארגון.
  3. הגדר את הפריסה ושמור את דיאגרמת הפלט.

הקוד לדוגמה הבא מראה כיצד ליצור תרשים ארגוני בסגנון תרשים זרימה ב-C#:

// טען מאסטרים מכל דיאגרמה, סטנסיל או תבנית קיימים
string visioStencil = "Basic Shapes.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;
// הגדר ערכים לבניית ההיררכיה
List<string> listPos = new List<string>(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" });
// הגדר Hashtable כדי למפות את שם המחרוזת למזהה צורה ארוכה
Hashtable shapeIdMap = new Hashtable();
// צור תרשים חדש
Diagram diagram = new Diagram(visioStencil);
foreach (string orgnode in listPos)
{
    // הוסף צורת מלבן חדשה
    long rectangleId = diagram.AddShape(pinX++, pinY++, width, height, rectangleMaster, pageNumber);
    // הגדר את מאפייני הצורה החדשה
    Shape shape = diagram.Pages[pageNumber].Shapes.GetShape(rectangleId);
    shape.Text.Value.Add(new Txt(orgnode));
    shape.Name = orgnode;
    shapeIdMap.Add(orgnode, rectangleId);
}
// צור קשרים בין צמתים
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];
        Shape connector1 = new Shape();
        long connecter1Id = diagram.AddShape(connector1, connectorMaster, pageNumber);
        diagram.Pages[pageNumber].ConnectShapesViaConnector(parentId, ConnectionPointPlace.Right,
            shapeId, ConnectionPointPlace.Left, connecter1Id);
    }
}

//פריסה אוטומטית תרשים זרימה
LayoutOptions flowChartOptions = new LayoutOptions
{
    LayoutStyle = LayoutStyle.FlowChart,
    Direction = LayoutDirection.TopToBottom,
    EnlargePage = true
};

diagram.Pages[pageNumber].Layout(flowChartOptions);

// שמור דיאגרמה
diagram.Save("FlowChart_out.vsdx", SaveFileFormat.VSDX);

קבל רישיון זמני בחינם

אתה יכול לבקש [רישיון זמני] בחינם8 כדי להעריך את ה-API במלוא קיומו.

סיכום

במאמר זה, הבנת כיצד ליצור תרשים ארגוני באופן תוכניתי ב-C#. אתה יכול ליצור דיאגרמה מסטנסיל וליצור תרשים בסגנון CompactTree או תרשים זרימה בהתאם לדרישות שלך. יתר על כן, אתה יכול לבקר בסעיף תיעוד כדי להסתכל על תכונות אחרות המכוסות תחת פרקים וסעיפים שונים. בכל מקרה של בירור, אנא אל תהסס לפנות אלינו דרך הפורום.

ראה גם

המר VSDM ל-PDF ב-C#