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

نام تاپیک: تابع بازگشتی..... و ....... TreeView

  1. #1

    Question تابع بازگشتی..... و ....... TreeView

    سلام به همگی
    طریقه پر کردن یه tree view از دیتا بیس با تابع بارگشتی چطوریه؟
    (یکی از دوستان می گفت از این روش هم میشه!)
    میشه راهنمایی کنین...

  2. #2
    نقل قول نوشته شده توسط shahali مشاهده تاپیک
    سلام به همگی
    طریقه پر کردن یه tree view از دیتا بیس با تابع بارگشتی چطوریه؟
    (یکی از دوستان می گفت از این روش هم میشه!)
    میشه راهنمایی کنین...
    این بستگی به ساختار جدولی داره که قراره داده ها از اونجا بیان
    احتمالا می خواین dynamic Menu بسازید..
    در مورد جدولتون و ساختارش و کلا اینکه این داده ها یه چه صورتی هستند یه توضیح بدین تا ...

    مجموعه آموزشی Asp.Net Core Mvc کاملا به زبان فارسی(21 ماژول و 15 ساعت فیلم آموزشی همراه با سورس کامل تمرینات و پروژه عملی انجام شده در طول آموزشی)
    مشاهده جزئیات در آدرس http://www.mkiani.ir/blog/content/53084


    وب سایت : http://www.mkiani.ir
    پست الکترونیک : mkiani3000@gmail.com

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


  3. #3
    کاربر دائمی آواتار mahdi_farhani
    تاریخ عضویت
    مرداد 1383
    محل زندگی
    فولادشهر - اصفهان
    سن
    36
    پست
    1,227
    این کد نمونه برای تولید یک Sitemap هست میتونی ازش ایده بگیری . به صورت نامحدود زیر منو برات درست میکنه .
    فقط کافی که در دیتابیست فیلدی برای تعیین کردن پدر داشته باشی

    DataRow[] drCollection;
    DataView dv;
    DataTable dtTemp=new DataTable();
    dsMain.sp_T_Menu_SelectAllRow drMenu;
    try
    {
    xtw = new XmlTextWriter(this.fullPath, System.Text.UTF8Encoding.UTF8);
    xtw.WriteStartDocument();
    xtw.Formatting = Formatting.Indented;
    xtw.WriteStartElement("siteMap", "http://schemas.microsoft.com/AspNet/SiteMap-File-1.0");
    xtw.WriteStartElement("siteMapNode");
    xtw.WriteAttributeString("url", "");
    xtw.WriteAttributeString("title", "");
    xtw.WriteAttributeString("description", "");
    drCollection = dt.Select("[Parent] IS NULL");
    searchForAllNode(drCollection);
    xtw.Close();
    }
    catch
    {
    if (xtw.WriteState!= WriteState.Closed)
    {
    xtw.Close();
    }
    }

    }
    private void searchForAllNode(DataRow[] drParent)
    {
    DataTable dtTemp = new DataTable();
    dsMain.sp_T_Menu_SelectAllRow drMenu;
    foreach (DataRow dr in drParent)
    {
    drMenu = (dsMain.sp_T_Menu_SelectAllRow)dr;
    xtw.WriteStartElement("siteMapNode");
    xtw.WriteAttributeString("url", drMenu.URL);
    xtw.WriteAttributeString("title", drMenu.Title);
    xtw.WriteAttributeString("description", "");
    searchForAllNode(dt.Select("[Parent] = " + drMenu.ID.ToString()));
    xtw.WriteEndElement();
    }
    }


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

    daQuestion.Fill(dtQuestion, 1, "");//نمایش کلیه سوالها
    TreeNode tnQuestion;
    TreeNode tnAnswer;
    dsMain.cms_VoteResult_SelectRow[] drResult;
    int iAnswerCount = 0;
    trvVote.Nodes.Clear();
    foreach (dsMain.cms_VoteQuestion_SelectRow dr in dtQuestion.Rows)
    {
    tnQuestion = new TreeNode(dr.vqu_Memo);
    tnQuestion.Value = dr.vqu_Id.ToString();
    daAnswer.Fill(dtAnswer, dr.vqu_Id, 1); //نمایش کلیه جواب ها
    daResult.Fill(dtResult, dr.vqu_Id);
    foreach (dsMain.cms_VoteAnswer_SelectRow drA in dtAnswer.Rows)
    {
    drResult = (dsMain.cms_VoteResult_SelectRow[])dtResult.Select("van_ID = " + drA.van_Id.ToString());
    iAnswerCount = 0;
    if (drResult.Length != 0)
    iAnswerCount = drResult[0].Count;

    tnAnswer = new TreeNode(drA.van_Memo + " - تعداد پاسخها : " + iAnswerCount.ToString());
    tnAnswer.Value = drA.van_Id.ToString();
    tnAnswer.SelectAction = TreeNodeSelectAction.None;
    tnAnswer.ShowCheckBox = false;
    tnQuestion.ChildNodes.Add(tnAnswer);
    }
    trvVote.Nodes.Add(tnQuestion);
    }
    trvVote.CollapseAll();

  4. #4
    کاربر دائمی آواتار Happy_davood
    تاریخ عضویت
    دی 1383
    محل زندگی
    تبریز
    سن
    44
    پست
    306

    this.treeViewStockClasses.BeginUpdate();
    for (int i = 0; i < this.DataTableNodes.Rows.Count; i++)
    {
    if (this.DataTableNodes.Rows[i]["ParentStockClassCode"].ToString() == "0")
    {
    this.treeViewStockClasses.Nodes.Add(this.DataTable Nodes.Rows[i]["StockClassCode"].ToString(), this.DataTableNodes.Rows[i]["StockClassTitle"].ToString());
    this.AddNode(this.treeViewStockClasses.Nodes[this.treeViewStockClasses.Nodes.Count - 1]);
    }
    }
    this.treeViewStockClasses.EndUpdate();



    private void AddNode(System.Windows.Forms.TreeNode CurrentNode)
    {
    try
    {
    for (int i = 0; i < this.DataTableNodes.Rows.Count; i++)
    {
    if (this.DataTableNodes.Rows[i]["ParentStockClassCode"].ToString() == CurrentNode.Name.ToString())
    {
    CurrentNode.Nodes.Add(this.DataTableNodes.Rows[i]["StockClassCode"].ToString(), this.DataTableNodes.Rows[i]["StockClassTitle"].ToString());
    this.AddNode(CurrentNode.Nodes[CurrentNode.Nodes.Count - 1]);
    }
    }
    }
    catch (System.Exception exp)
    {
    }
    }


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

  5. #5
    در تالار ASP مقاله ای در رابطه با موضوع شما وجود داره. فکر کنم عنوانش اتصال treeview به database بود. فکر کنم از توابع برگشتی استفاده کرده بود.

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

  1. کار با Treeview !
    نوشته شده توسط rtech در بخش ASP.NET Web Forms
    پاسخ: 12
    آخرین پست: چهارشنبه 27 فروردین 1393, 01:17 صبح
  2. مشکل با TreeView
    نوشته شده توسط VisualStudio در بخش VB.NET
    پاسخ: 9
    آخرین پست: دوشنبه 02 شهریور 1388, 07:28 صبح
  3. انتخاب از TreeView
    نوشته شده توسط Ghalandari در بخش C#‎‎
    پاسخ: 2
    آخرین پست: سه شنبه 07 اسفند 1386, 17:08 عصر
  4. مشکل با TreeView
    نوشته شده توسط Alireza_Salehi در بخش ASP.NET Web Forms
    پاسخ: 4
    آخرین پست: دوشنبه 07 اسفند 1385, 20:43 عصر
  5. عدم نمایش Treeview
    نوشته شده توسط ar_monti@ در بخش ASP.NET Web Forms
    پاسخ: 2
    آخرین پست: پنج شنبه 12 بهمن 1385, 19:48 عصر

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

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