نمایش نتایج 1 تا 19 از 19

نام تاپیک: پیاده سازی چارت سازمانی و تمام مواردی که مربوط به آن

  1. #1
    کاربر دائمی
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تهران
    پست
    437

    Question پیاده سازی چارت سازمانی و تمام مواردی که مربوط به آن

    با سلام

    دوستان عزیز

    قرار هست در یک نرم افزار امکان ایجاد چارت سازمانی و سپس سمت های سازمانی طراحی گردد.

    در حال حاضر می خواهیم ابتدا چارت سازمانی را تعریف کنیم.

    خوب من باید قسمت مربوط به پایگاه داده ها در این تالار و بخش برنامه نویسی اش را در تالا سی شارپ ایجاد کنم.

    ================================================== =====================

    من می خواهم ا تصویر زیر الگو گرفته شود:

    Organization Chart.png

    ================================================== =====================

    فکر می کنم می توان این کار را در یک جدول انجام داد:


    ID ParentID CODE NAME

    البته مطمئنا می توان از روش های دیگری استفاده کرد ولی فکر می کنم اگر یک جدول باشد بهتر است.

    ================================================== =====================

    اکنون باید جدول را به چه شکلی طراحی کرد؟

    موقعی که می خواهیم چارت را با یک کوئری به سی شارپ پاس دهیم باید به چه شکلی این کار را انجام دهیم تا در آن سمت به راحتی به توان آن را در یک کنترل مثل TreeView نمایش داد.

    اگر خواستیم بگیم که فلان زیر شاخه آیا جز فلان شاخه هست یا نه چطور کوئری بزینم؟

    و ...

    ================================================== =======================

    منتظر پاسخ های دوستان هستیم.

    با تشکر

  2. #2

    نقل قول: پیاده سازی چارت سازمانی و تمام مواردی که مربوط به آن

    سلام
    راه حل شما استفاده از دیتا تایپ HierarchyID است:

    CREATE TABLE Organization
    (
    BusinessEntityID hierarchyid,
    OrgLevel as BusinessEntityID.GetLevel(),
    EmployeeName nvarchar(50) NOT NULL
    ) ;
    GO


    https://msdn.microsoft.com/en-us/library/bb677173.aspx

  3. #3
    کاربر دائمی
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تهران
    پست
    437

    نقل قول: پیاده سازی چارت سازمانی و تمام مواردی که مربوط به آن

    نقل قول نوشته شده توسط tooraj_azizi_1035 مشاهده تاپیک
    سلام
    راه حل شما استفاده از دیتا تایپ HierarchyID است:

    CREATE TABLE Organization
    (
    BusinessEntityID hierarchyid,
    OrgLevel as BusinessEntityID.GetLevel(),
    EmployeeName nvarchar(50) NOT NULL
    ) ;
    GO


    https://msdn.microsoft.com/en-us/library/bb677173.aspx

    با سلام

    دوست عزیز

    من کمی این مورد را در آن لینکی که گذاشتید بررسی کردم.

    انگار هم راحت هست و هم سخت.

    به نظرم طبق همان لینک مرحله مرحله جلو بریم می تونم کامل موضوع را بفهم و در نهایت ازش استفاده کنم:

    برای ایجاد جدول از کد زیر استفاده می شود:


    CREATE TABLE SimpleDemo
    (
    Level hierarchyid NOT NULL,
    Location nvarchar(30) NOT NULL,
    LocationType nvarchar(9) NULL
    );


    برای درج در جدول هم به شکل زیر عمل می شود:


    INSERT SimpleDemo
    VALUES
    ('/1/' , 'Europe' , 'Continent'),
    ('/2/' , 'South America' , 'Continent'),
    ('/1/1/' , 'France' , 'Country'),
    ('/1/1/1/' , 'Paris' , 'City'),
    ('/1/2/1/' , 'Madrid' , 'City'),
    ('/1/2/' , 'Spain' , 'Country'),
    ('/3/' , 'Antarctica' , 'Continent'),
    ('/2/1/' , 'Brazil' , 'Country'),
    ('/2/1/1/' , 'Brasilia' , 'City'),
    ('/2/1/2/' , 'Bahia' , 'State'),
    ('/2/1/2/1/', 'Salvador' , 'City'),
    ('/3/1/' , 'McMurdo Station', 'City');



    ================================================== =====================

    سوالات:

    1. آیا hierarchyid یک نوع داده در اس کیو ال هست؟

    2. آیا می توان از آن در ورژن 2008 استفاده کرد؟

    3. هنگام در ما مثلا "'/2/1/2/1/'" را وارد می کنیم
    به این معنی هست که:
    Salvador فرزند Bahia هست و
    Bahia فرزند Brazil و
    Brazil هم فرزند South America هست.

    4. وقتی ما داده ها را به شکل "'/2/1/2/1/'" وارد می کنیم اتوماتیک خودش ساختار آن را می فهمد؟

    5. فرضا اگر بخواهیم بفهمیم Salvador فرزند چه کسی هست باید چطوری کوئری بزنیم؟

    ================================================== ==========

    با تشکر

  4. #4

    نقل قول: پیاده سازی چارت سازمانی و تمام مواردی که مربوط به آن

    1- بله یک نوع داده ای از نوع CLR DataType است یعنی در دات نت نوشته شده و در SQL استفاده می شود.
    2- بله.
    3- بله.
    4- بله.
    5-


    select Location from SimpleDemo where Level = (select Level.GetAncestor(1) from SimpleDemo 
    where Location = 'Salvador')

  5. #5
    کاربر دائمی
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تهران
    پست
    437

    نقل قول: پیاده سازی چارت سازمانی و تمام مواردی که مربوط به آن

    با سلام

    دوست عزیز

    من قبل از مشاهده روش شما در حال بررسی لینک زیر :

    http://www.kodyaz.com/t-sql/sql-serv...rsive-cte.aspx

    بودم.

    می خواهم با توجه به این لینک بدانم که:

    چطور این خروجی زیر را از روش شما بدست بیاورم:

    chart.png

    در واقع منظروم این هست که با استفاده از این خروجی من در سمت سی شارپ خیلی راحت می توانم ساختار درختی را ایجاد کنم.

    الان موردی را که شما توضیح دادید مناسب برای اینگونه طراحی ها است و من می خواهم از آن روش استفاده کنم.

    حالا می خوام یک کوئری بگیرم که براحتی سمت سی شارپ ساختار درختی را در یک کنترل مثل TreeView ایجاد کنم.

    =====================================

    راستی CLR DataType هم مورد جالبی هست.

    قبلا می دانستم که می توان یک چیزی را در دات نت ساخت و آنرا در اس کیو ال سرور تعمیم داد.

    این اولین موردی بود که باهاش برخورد کردم.

    من فکر می کنم اگر کسی توانایی ساخت این چیزها را داشته باشد به راحتی می تواند اس کیو ال را سفارشی سازی کند.

    با تشکر

  6. #6

    نقل قول: پیاده سازی چارت سازمانی و تمام مواردی که مربوط به آن

    اگر قرار است خروجی رو در TreeView نشون بدید در این لینک گفته شده فقط فایل سورس رو دانلود کنید:
    http://www.codeproject.com/Articles/...ng-HierarchyID

  7. #7
    کاربر دائمی
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تهران
    پست
    437

    نقل قول: پیاده سازی چارت سازمانی و تمام مواردی که مربوط به آن

    نقل قول نوشته شده توسط tooraj_azizi_1035 مشاهده تاپیک
    اگر قرار است خروجی رو در TreeView نشون بدید در این لینک گفته شده فقط فایل سورس رو دانلود کنید:
    http://www.codeproject.com/Articles/...ng-HierarchyID
    با سلام

    دوست عزیز

    یک مقدار کار سخت شد.

    حالا بزارید به حساب اینکه ما لقمه حاضر و آماده می خواهیم.

    من روی کدها مشکل دارم:


    private void LoadTreeSQLHierarchy(TreeView oTV, DataTable oTable, string sKeyField, string sTextField)
    {
    oTV.Nodes.Clear();


    TreeNode oNode;


    //get an empty id to get the top node
    SqlHierarchyId iID = new SqlHierarchyId();


    //filter the table using linq. See blog for equals()/== issue
    EnumerableRowCollection<DataRow> query = from TNodes in oTable.AsEnumerable()
    where TNodes.Field<SqlHierarchyId>(sKeyField).GetAncesto r(1).Equals(iID)
    select TNodes;


    //convert to a dataview because I am comfortable with a dataview.
    DataView oDV = query.AsDataView();
    if (oDV.Count == 1)
    {
    //load up a node
    oNode = new TreeNode(oDV[0][sTextField].ToString());


    //put the datarow into the tag property
    oNode.Tag = oDV[0].Row;


    //load up the children
    LoadNodeSQLHierarchy(oNode, oTable);


    //add the node hierarchy to the tree
    oTV.Nodes.Add(oNode);
    }
    }


    /// <summary>
    /// Load up the children
    /// </summary>
    /// <param name="oParent">parent node</param>
    /// <param name="oTable">datatable with the nodekey</param>
    private void LoadNodeSQLHierarchy(TreeNode oParent, DataTable oTable)
    {


    // make sure there are no existing nodes in case this is a reload of the node
    oParent.Nodes.Clear();


    //get the nodekey from the tag property of the parent node
    SqlHierarchyId iID = new SqlHierarchyId();
    DataRow oRow = (DataRow)oParent.Tag;
    iID = (SqlHierarchyId)oRow["NodeKey"];


    //filter the datatable on for the children
    EnumerableRowCollection<DataRow> query = from order in oTable.AsEnumerable()
    where order.Field<SqlHierarchyId>("NodeKey").GetAncestor (1).Equals(iID)
    select order;


    //add the nodes to the tree
    DataView oDV = query.AsDataView();
    foreach (DataRowView oDR in oDV)
    {
    TreeNode oNode = new TreeNode(oDR["Element"].ToString());
    oNode.Tag = oDR.Row;


    LoadNodeSQLHierarchy(oNode, oTable);
    oParent.Nodes.Add(oNode);
    }


    }


    نمی توانم در کشان کنم.

    اگر باید این قسمت از تاپیک را در تالار سی شارپ مطرح کنم، به من بگید.

    ================================================== ============

    این جوری کار سخت شد.

    یعنی نمی توانم درکش که چطوری این کار را انجام دهد کنم.

    همین که پایگاه داده هاش XML هست

    و

    چند تا ستون داره که کار هر ستون چه چیزی هست.

    خلاصه نمی توانم روند کارش را متوجه بشم.


    اما

    آن روشی را که خودم پیدا کردم راحتر متوجه شد.

    با تشکر

  8. #8

    نقل قول: پیاده سازی چارت سازمانی و تمام مواردی که مربوط به آن

    این خروجی چطور:


    select Location, REPLICATE('>> ', Level.GetLevel()) + Location ,
    SUBSTRING(REPLACE(Level.ToString(), '/', ':'), 2, LEN(Level.ToString())-2),
    REPLICATE('>> ', Level.GetLevel()) from SimpleDemo

  9. #9
    کاربر دائمی
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تهران
    پست
    437

    نقل قول: پیاده سازی چارت سازمانی و تمام مواردی که مربوط به آن

    نقل قول نوشته شده توسط tooraj_azizi_1035 مشاهده تاپیک
    این خروجی چطور:


    select Location, REPLICATE('>> ', Level.GetLevel()) + Location ,
    SUBSTRING(REPLACE(Level.ToString(), '/', ':'), 2, LEN(Level.ToString())-2),
    REPLICATE('>> ', Level.GetLevel()) from SimpleDemo
    با سلام

    دوست عزیز

    شما خیلی خوب عمل می کنید.

    خروجی کوئری شما به شکل زیر می باشد:

    ResultQuery.PNG

    ==============================================

    به نظرم الان دیگه بتونم چیزی را که می خواهم پیاده سازی کنم.

    من می رم سراغ پیاده سازی فرمی که در ابتدای پست نشان داده بودم.

    اگر به مشکل خوردم آن را اعلام می کنم.

    =================================================

    در صورت امکان کمی بیشتر درباره نوع داده hierarchyid صحبت کنید.

    و بگویید چه متد هایی برای کار با آن وجود دارد و چگونه باید از آن ها استفاده کرد.

    مثلا همین Level.GetLevel() که در کوئری استفاده کردید چه کاربردی دارد و چه جوری باید ازش استفاده کرد.

    =================================================

    راستی اگر یک تاپیکی یا لینکی که درباره CLT DataType هایی که می توان آن رادر یک زبان دات نتی در سی شارپ درست کرد و در اس کیو ال سرور استفاده کرد ارائه کنید.

    کلا می خوام یک دیدی نسبت به اینکه چطوری می توانیم از موارد ساخته شده .Net Framework در اس کیو ال استفاده کرد.

    با تشکر

  10. #10
    کاربر دائمی
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تهران
    پست
    437

    نقل قول: پیاده سازی چارت سازمانی و تمام مواردی که مربوط به آن

    نقل قول نوشته شده توسط tooraj_azizi_1035 مشاهده تاپیک
    این خروجی چطور:


    select Location, REPLICATE('>> ', Level.GetLevel()) + Location ,
    SUBSTRING(REPLACE(Level.ToString(), '/', ':'), 2, LEN(Level.ToString())-2),
    REPLICATE('>> ', Level.GetLevel()) from SimpleDemo
    با سلام

    دوست عزیز

    الان من TreeView را با استفاده از ستون دوم انجام می دهم.

    اما صحت یا به عبارتی ترتیب سطر ها با توجه به اطلاعات آن ستون اشتباه است.

    البته صحت اطلاعات ستون سوم درست هست.

    می توانید کوئری را به شکلی بنویسید که ستون دوم ترتیبش درست باشد.

    الان شکل خروجی هیچ مشکلی ندارد.

    فقط ترتیب با توجه به ستون دوم درست نمی باشد.

    یعنی ستون دوم داره می گیه که France زیر مجموعه South Africa هست در صورتی که که باید زیر مجموعه Eroupe باشد.

    یعنی الان فقط شما یک کوئری بنویسید که ترتیب درست را با توجه به ستون دوم به ما بدهد.

    باز هم می گم که اطلاعات ستون سوم درست هست.

    ولی

    من می خواهم از ستون سوم استفاده کنم.

    با تشکر

  11. #11

    نقل قول: پیاده سازی چارت سازمانی و تمام مواردی که مربوط به آن


    select Location, REPLICATE('>> ', Level.GetLevel()) + Location ,
    SUBSTRING(REPLACE(Level.ToString(), '/', ':'), 2, LEN(Level.ToString())-2) c,
    REPLICATE('>> ', Level.GetLevel()) from SimpleDemo
    order by c

  12. #12
    کاربر دائمی
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تهران
    پست
    437

    نقل قول: پیاده سازی چارت سازمانی و تمام مواردی که مربوط به آن

    با سلام

    دوست عزیز

    مشکل مرتب شدن ردیف ها حل شد.

    من یک فرم به شکل زیر درست کردم که خروجی ازش گرفتم:

    MyChart.PNG

    از این SP استفاده کردم:


    ALTER proc [dbo].[Select_All_tblOrganizationChart]
    AS
    BEGIN
    select ocTitle ,
    SUBSTRING(REPLACE(ocLevel.ToString(), '/', ':'), 2, LEN(ocLevel.ToString())-2) as b,
    REPLICATE('>', ocLevel.GetLevel()-1)
    from tbl_OrganizationChart
    ORDER BY b ASC;
    END


    و کدهایی که خروجی SP را در TreeView قرار می دهند:


    private DataTable Select_All_tblOrganizationChart()
    {
    SqlDataAdapter da = new SqlDataAdapter("Select_All_tblOrganizationChart", cDatabase.myConn);
    da.SelectCommand.CommandType = CommandType.StoredProcedure;
    DataTable dt = new DataTable();


    try
    {
    cDatabase.OpenConnection();
    da.Fill(dt);
    //dgv_ListVacationType.DataSource = dt;
    cDatabase.CloseConnection();
    return dt;
    }
    catch (Exception ex)
    {
    cDatabase.CloseConnection();
    MessageBox.Show(".خطایی در ارتباط با پایگاه داده ها رخ داده است" + "\n\n" + ".امکان بدست آوردن لیست انواع استخدام وجود ندارد" + "\n\n" + "خطای فنی :" + "\n\n" + ex.Message);
    return null;
    }
    }


    private void ConvertDataTable_To_TreeView(DataTable dt)
    {
    string str = "";
    string pre = "";
    TreeNode node = null;
    foreach (DataRow row in dt.Rows)
    {
    str = row[2].ToString();
    if (str == "")
    {
    node = tvChart.Nodes.Add(row[0].ToString());
    pre = row[2].ToString();
    }
    else
    {
    if (row[2].ToString().Length < pre.Length)
    {
    int count = pre.Length - row[2].ToString().Length;
    for (int i = 0; i < count; i++)
    {
    node = node.Parent.Parent;
    }
    pre = row[2].ToString();


    node = node.Nodes.Add(row[0].ToString());
    }
    else if (row[2].ToString().Length == pre.Length)
    {
    pre = row[2].ToString();


    if (node.Parent!=null)
    {
    node = node.Parent.Nodes.Add(row[0].ToString());
    }
    else
    {
    node.Nodes.Add(row[0].ToString());
    }



    }
    else
    {
    pre = row[2].ToString();
    node = node.Nodes.Add(row[0].ToString());
    }
    }


    }
    }


    ================================================== ======

    لطفا یک بررسی بکنید ببیند خوبه یا نه.

    همچنین اگر کدم مشکل داره بهم بگید.

    ================================================== ======

    حالا باید بریم سراغ حذف و اضافه . . .

    با تشکر

  13. #13
    کاربر دائمی
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تهران
    پست
    437

    نقل قول: پیاده سازی چارت سازمانی و تمام مواردی که مربوط به آن

    با سلام

    دوست عزیز

    اکنون اگر بخواهیم به این جدول به این جدول عمل درج داشته باشیم.

    چطوری باید این کار را انجام دهیم.

    مثلا من می خواهم به گره Spain گره Barcelona را اضافه کنم.

    مسئله سر این هست که از کجا تشخیص بدهد که باید 1:2:2 را برای فیلد Level وارد نمایید.

    الان ما بصورت دستی می دانیم که باید چه چیزی را در Level وارد کنید.

    اما

    ما می خواهیم بصورت اتوماتیک بفهمد که اگر ما Spain را در TreeView انتخاب کردیم Barcelona را بهش اضافه کردیم.

    بصورت اتوماتیک 1:2:2 را برای ما تولید کند.

    با تشکر

  14. #14
    کاربر دائمی
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تهران
    پست
    437

    نقل قول: پیاده سازی چارت سازمانی و تمام مواردی که مربوط به آن

    با سلام

    دوست عزیز


    خوب تا شما مشکل را بررسی و حل کنید.

    من فعلا می روم همان روشی را که قبلا پیدا کردم را پیاده سازی کنم.

    بعدا اگر راه شما کم دردسرتر بود (البته برای من) دوباره به روش شما سویچ خواهم کرد.

    با تشکر

  15. #15

    نقل قول: پیاده سازی چارت سازمانی و تمام مواردی که مربوط به آن

    سلام
    درج گره Bracelona در Spian:


    DECLARE @parent HierarchyId = (SELECT Level FROM SimpleDemo WHERE Location = 'Spian')
    insert into SimpleDemo (Level, Location)
    values (@parent.GetDescendant(NULL, NULL), 'Barcelona')

  16. #16
    کاربر دائمی
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تهران
    پست
    437

    نقل قول: پیاده سازی چارت سازمانی و تمام مواردی که مربوط به آن

    نقل قول نوشته شده توسط tooraj_azizi_1035 مشاهده تاپیک
    سلام
    درج گره Bracelona در Spian:


    DECLARE @parent HierarchyId = (SELECT Level FROM SimpleDemo WHERE Location = 'Spian')
    insert into SimpleDemo (Level, Location)
    values (@parent.GetDescendant(NULL, NULL), 'Barcelona')
    با سلام

    دوست عزیز

    -----------------------------------------------
    ***سپاس فراوان به خاطر پاسخگویتان***
    -----------------------------------------------

    الان یک مشکلی پیش می آید.

    و

    اون این هست که در چارت سازمانی امکان تکراری بودن نام یک واجد و جود دارد.

    بنابراین

    این روش جوابگو نیست.

    من از شما می خواهم تا کوئری بنویسید اکه مثلا اگر ما دوتا spain‌ داشتیم متوجه بشود که ما قصد Barcelona را به spain دوم اضافه کنیم.

    با تشکر

  17. #17

    نقل قول: پیاده سازی چارت سازمانی و تمام مواردی که مربوط به آن

    ابتدا گره Spain آخر را بدست آوره و گره آخرين فرزند Spain را هم بدست مي آوريم بعد در موقعيت بدست آمده درج مي كنيم:

    DECLARE @parent HierarchyId = (SELECT top 1 Level FROM SimpleDemo WHERE Location = 'Spain'
    order by Level desc);

    DECLARE @last_node HierarchyId = (SELECT max(Level) Level FROM SimpleDemo WHERE level.GetAncestor(1) = @parent);

    insert into SimpleDemo (Level, Location)

    values (@parent.GetDescendant(@last_node, NULL), 'Real Madrid')


    select *, level.ToString() c from SimpleDemo
    order by c
    آخرین ویرایش به وسیله tooraj_azizi_1035 : چهارشنبه 14 مرداد 1394 در 08:35 صبح

  18. #18
    کاربر دائمی
    تاریخ عضویت
    بهمن 1390
    محل زندگی
    تهران
    پست
    437

    نقل قول: پیاده سازی چارت سازمانی و تمام مواردی که مربوط به آن

    با سلام

    دوست عزیز

    من اضافه و ویرایش واحد های سازمانی را انجام داده ام

    ==================================
    اکنون قصد حذف یک واحد سازمانی را دارم.

    فرض کنید ما سه جدول پرسنل؛ سمت های سازمانی و واحد ها سازمانی داریم.

    یک پرسنل یک سمت دارد و یک سمت هم عضو یک واحد هست.


    حالا وقتی که ما یک واحد را پاک می کنیم این سوالات و مشکلات بوجود می آید:

    1. آیا با پاک شدن یک واحد سازمانی باید سمت های اختصاص یافته به آن و پرسنلی که آن سمت را دارند نیز باید حذف شوند؟

    2. اگر من یک واحد سازمانی که دارای زیر واحد های متعدد هست را بخواهم پاک کنم طبیعتا زیر واحد های آن نیز باید پاک شود و همینظر تمام سمت های که به آن واحد های اختصاص داده شده به علاوه تمام کارمندان
    به نظرم اینجوری اصلا درست نیست. چه راهکاری باید برای حذف در نظر بگیریم؟

    و ...

    به نظر اجازه حذف فقط زمانی هست که در آن واحد سازمانی هیچ سمتی تعریف نشده باشد.
    اگر هم دارای سمت بود موقع حذف به کاربر یک پیغام متن زیر نمایش دهد:

    "در این واحد سازمانی یک یا بیشتر سمت سازمانی تعریف شده است شما ابتدا باید سمت های سازمانی را پاک نمایید.
    سپس اقدام به حذف واحد سازمانی کنید
    "

    همچنین فقط اجازه حذف به یک واحد سازمانی که هیچ زیر واحد ندارد را بدهیم. اینطوری خیلی بهتر هست.

    ================================================== ==

    اگر کسی با این مشکل برخورد کرده راهکارش را به ما ارائه کند.

    منظور من ارائه کد نیست.

    صرفا اینکه توضیح بدهید که چگونه این مشکل را برطرف نموده اید.

    با تشکر

  19. #19
    کاربر دائمی
    تاریخ عضویت
    بهمن 1381
    محل زندگی
    فعلاً تهران - دائم مریلند آمریکا
    پست
    354

    نقل قول: پیاده سازی چارت سازمانی و تمام مواردی که مربوط به آن

    آیا می توان تابع Sum درجداولی که ستون HierarchyId دارند استفاده کرد؟

    آیا می توان در ستون نوع HierarchyId اعداد موجود در انتهائی ریشه رادر سطوح بالاتر از جمع کرد [تابع Sum].

    فرض کنید مثال زیر حاکم است: {انتهای ریشه فقط عدد دارد)

    1.jpg




    حال می خواهیم اعداد ریشه با سطوح بالاتر جمع کنیم (شکل زیر
    )


    2.jpg



    من اینکار با استفاده از امکانات TreeView کنترل خود دات نت محاسبه و بدست میآورم، ولی اگر تعداد node های درختوار زیاد شود، کدهای نوشته شده من با سرعت کند عمل کرده و این امر جمع تا سطوح بالاتر را بدلیل کمی سرعت بی معنی می کند. آیا با HierarchyId مورد SQL میتوان اینکار سریع انجام داد


تاپیک های مشابه

  1. پیاده سازی چارت سازمانی
    نوشته شده توسط amirreyhaneh در بخش C#‎‎
    پاسخ: 0
    آخرین پست: شنبه 29 فروردین 1394, 10:57 صبح
  2. سوال: امکان بدست آوردن تمام Memberهای پیاده سازی شده برای یک OleVariant در حین اجرا؟
    نوشته شده توسط SAASTN در بخش مباحث عمومی دلفی و پاسکال
    پاسخ: 8
    آخرین پست: چهارشنبه 14 اردیبهشت 1390, 18:49 عصر
  3. پاسخ: 5
    آخرین پست: پنج شنبه 14 بهمن 1389, 10:47 صبح
  4. پیاده سازی یک ماتریس خلوت
    نوشته شده توسط maryam206 در بخش برنامه نویسی با Borland C++‎ Builder
    پاسخ: 5
    آخرین پست: چهارشنبه 11 فروردین 1389, 13:15 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •