TREE view

شروع موضوع توسط iranidesign ‏4 فوریه 2007 در انجمن asp , ASP.NET

  1. iranidesign

    iranidesign کاربر تازه وارد

    تاریخ عضویت:
    ‏3 جولای 2006
    نوشته ها:
    62
    تشکر شده:
    0
    سلام
    میخوام tree view رو به db وصل کنم در net2. !!!
    چطوری این کار رو انجام بدم؟
     
  2. خدمات پی پالبازدیدیار - افزایش بازدید سایت و سیگنال های برند
  3. mazoolagh

    mazoolagh Registered User

    تاریخ عضویت:
    ‏10 آپریل 2004
    نوشته ها:
    2,939
    تشکر شده:
    7
    فكر كنم مستقيم نميشه - ديتاسورسش بايد xml باشه. يعني يا بايد از ديتابيست خروجي xml بگيري يا اينكه با كد از ديتابيس بخوني و نود ها رو يكي يكي بسازي.
     
  4. iranidesign

    iranidesign کاربر تازه وارد

    تاریخ عضویت:
    ‏3 جولای 2006
    نوشته ها:
    62
    تشکر شده:
    0
    چطوری این کار رو انجام بدم یک تیکه کد نمونه بهم نشون میدین؟؟؟
     
  5. mazoolagh

    mazoolagh Registered User

    تاریخ عضویت:
    ‏10 آپریل 2004
    نوشته ها:
    2,939
    تشکر شده:
    7
    كدوم يكي ؟
    xml يا روش دوم؟
     
  6. iranidesign

    iranidesign کاربر تازه وارد

    تاریخ عضویت:
    ‏3 جولای 2006
    نوشته ها:
    62
    تشکر شده:
    0
    XML بهتره !!!
     
  7. mazoolagh

    mazoolagh Registered User

    تاریخ عضویت:
    ‏10 آپریل 2004
    نوشته ها:
    2,939
    تشکر شده:
    7
    بهترين مثال تو خود msdn‌ هست - اگر لوكال نصب شده دنبال Walkthrough: Displaying Hierarchical Data in a TreeView Control بگرد.
     
  8. alireza sh

    alireza sh مدیر بازنشسته

    تاریخ عضویت:
    ‏2 ژانویه 2006
    نوشته ها:
    2,668
    تشکر شده:
    68
    محل سکونت:
    نصف جهان
    شما میتوانید گزارش مورد نظر خود را بگیرید و با استفاده از دیتا ست و کلاسهای XML به فایل XML تبدیل کنید ، سپس XML تولید شده را به عنوان دیتا سورس کنترل حود قرار دهید.

    استفاده از دیتاست ها توصیه نمیشود مگر اینکه تعداد رکوردها بسیار کم باشد.
     
  9. alireza sh

    alireza sh مدیر بازنشسته

    تاریخ عضویت:
    ‏2 ژانویه 2006
    نوشته ها:
    2,668
    تشکر شده:
    68
    محل سکونت:
    نصف جهان
    راستی ، البته بنده توانستم که TreeView را به دیتابیس وصل کنم .

    اینگونه :

    کد:
    protected void Page_Load(object sender, EventArgs e)
        {
            if (!User.Identity.IsAuthenticated || !User.IsInRole("admin"))
                Panel1.Visible = false;
    
            if (Request.QueryString["StartID"] != null)
            {
                PopulateStartLevel(Request.QueryString["StartID"]);
                return;
            }
    
            if (!IsPostBack)
                PopulateStartLevel(User.Identity.Name);
    //        PopulateStartLevel("1");
    
            //Response.Write(DatabaseWorker.GetSubChilds("1") +"<br>");
            DatabaseWorker.LogRegister(User.Identity.Name, "View Tree in " + DateTime.Now);
    
        }
    
        protected void PopulateStartLevel(string StartNodeID)
        {
            SqlConnection Cnn = new SqlConnection(@"Data Source=BROOKLYN;Initial Catalog=AzPaygah;Integrated Security=True");
    
            string query = "select UserName,FirstName,Family,(select count(*) FROM TUser WHERE ParentID=sc.UserName) AS childnodecount " +
                "FROM TUser as sc where UserName = @UserName";// parentID [email protected]";
    
    
            SqlCommand cmd = new SqlCommand(query, Cnn);
    
            cmd.Parameters.Add("@UserName", SqlDbType.NVarChar).Value = StartNodeID;
    
            SqlDataAdapter objDa = new SqlDataAdapter(cmd);
            DataTable dt = new DataTable();
            objDa.Fill(dt);
    
            PopulateNodes(dt, MainTree.Nodes);
    
        }
    
        protected void PopulateNodes(DataTable dt, TreeNodeCollection nodes)
        {
    
            foreach (DataRow dr in dt.Rows)
            {
                TreeNode tn = new TreeNode();
                tn.Text = dr["FirstName"].ToString() + " "+ dr["Family"].ToString();
                tn.Value = dr["UserName"].ToString();
    
                nodes.Add(tn);
    
                tn.PopulateOnDemand = (Convert.ToInt32(dr["childnodecount"]) > 0);
            }
        }
    
        protected void MainTree_TreeNodePopulate(object sender, TreeNodeEventArgs e)
        {
            PopulateSubLevel(e.Node.Value, e.Node);
        }
    
        protected void PopulateSubLevel(string ParentID, TreeNode ParentNode)
        {
            SqlConnection Cnn = new SqlConnection(@"Data Source=BROOKLYN;Initial Catalog=AzPaygah;Integrated Security=True");
            string query = "select UserName,FirstName,Family, (select count(*) FROM TUser WHERE ParentID=sc.UserName) AS childnodecount " +
                "FROM TUser as sc where parentID ='" + ParentID + "'";
    
    
            SqlCommand objCommand = new SqlCommand(query, Cnn);
    
    
            SqlDataAdapter objDa = new SqlDataAdapter(objCommand);
            DataTable dt = new DataTable("dt");
            objDa.Fill(dt);
            PopulateNodes(dt, ParentNode.ChildNodes);
    
        }
    
    
     
  10. iranidesign

    iranidesign کاربر تازه وارد

    تاریخ عضویت:
    ‏3 جولای 2006
    نوشته ها:
    62
    تشکر شده:
    0
    کسی یه راه بهتر رو سریع تر و آماده تر نداره؟
    من با سالی 1 دفعه گذرم گیر میکنه به tree view حالا هم این طوری شده یه کمکی بکنین این راه بیفته
    اقای end of csharp من با data set نمیتونم کار کنم چون رکوردهام خیلی زیادن دیدم که تذکر هم داده بودی
    اگه میشد انجام میدادم زود تر اونم با لایه ولی نمیشه . یکی بیاد مردونگی کنه یه چیز درست و حسابی اماده که بشه سریع بندازم تو پروژم بزاره اینجا خدا خیرتون بده
     
  11. alireza sh

    alireza sh مدیر بازنشسته

    تاریخ عضویت:
    ‏2 ژانویه 2006
    نوشته ها:
    2,668
    تشکر شده:
    68
    محل سکونت:
    نصف جهان
    آخه من که نمی دونم دقیقا میخوای چیکار کنی چطور راهنمایی تون کنم ؟؟؟

    میتوانین با یک SqldataCommand و یک sqldataReader ، به صورت دستی (منظورم غیر از استفاده از توابع دیتاست) کی فایل XML ایجاد کرده و داهل آن بنویسید ، سپس فایل را بعنوان دیتا سورس treeview استفاده کنین
     
  12. iranidesign

    iranidesign کاربر تازه وارد

    تاریخ عضویت:
    ‏3 جولای 2006
    نوشته ها:
    62
    تشکر شده:
    0
    من تا حالا انجام ندادم tree view رو
    یکی یه کمکی بکنه!!!!
     
  13. alireza sh

    alireza sh مدیر بازنشسته

    تاریخ عضویت:
    ‏2 ژانویه 2006
    نوشته ها:
    2,668
    تشکر شده:
    68
    محل سکونت:
    نصف جهان
    ای بابا

    شما خودتو بذار جای کسی که میخوا جو.اب بده
    هی میگی کمک کنین ، کمک کنین در حالی که اصلا نه مشکل رو درست شرح میدین و نه به توصیه ها گوش میکنین

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