PDA

View Full Version : سوال: پرکردن TreeView از فرزند به پدر



hastiam
دوشنبه 23 آبان 1390, 23:46 عصر
سلام دوستان
من یک TreeView دارم و ID فرزند رو هم دارم که میخوام از طریق این فرزند ، پدر رو بسازم و همین طور ادامه بدم تا اینکه به ریشه برسم. تو اینترنت هر جا گشتم همش از پدر به فرزند پر شده و برعکسش وجود نداشت ولی برنامه من طوریه که من ابتدا ID فرزند رو دارم و از طریق فرزند باید Parent رو بدست بیارم و مثل یه حلقه اینقدر پیش برم تا به ریشه برسم. آیا میشه Tree از فرزند به پدر پر شود؟
ممنون از راهنماییتون.

hjran abdpor
سه شنبه 24 آبان 1390, 06:18 صبح
با سلام.
اینها را نگاه کن کارت راه میفته :http://www.codeproject.com/KB/aspnet/ParentChildTreeView.aspx
http://stackoverflow.com/questions/7640376/adding-parent-and-child-nodes-in-treeview-from-sql-server-2008
http://www.dotnetfunda.com/articles/article864-aspnet-treeview-control-adding-parent-with-n-number-of-child.aspx

hastiam
سه شنبه 24 آبان 1390, 21:21 عصر
با سلام.
اینها را نگاه کن کارت راه میفته :http://www.codeproject.com/KB/aspnet/ParentChildTreeView.aspx
http://stackoverflow.com/questions/7640376/adding-parent-and-child-nodes-in-treeview-from-sql-server-2008
http://www.dotnetfunda.com/articles/article864-aspnet-treeview-control-adding-parent-with-n-number-of-child.aspx

دوست عزیز ممنون از پاسختون. ولی اینها همش Tree رو از root به child پر کردند ولی من برعکسشو میخوام چون ابتدای کار من فقط ID فرزند رو دارم چون چند سطحیه نمیدونم چه طوری از بچه ترین node به root برسم. آیا میدونید باید چه کار کنم؟ تا ریشه این فرزند رو پیدا کنم؟

hastiam
سه شنبه 24 آبان 1390, 21:27 عصر
مثلا فرض کنید تو این شکل من ID نود HR Training رو دارم و از طریق این ID بفهمم HR ریشه این نود بوده.77903

hjran abdpor
سه شنبه 24 آبان 1390, 22:26 عصر
با سلام.
یه حلقه For بزار که تعداد نودها را بشماره تا رسیدن به ریشه ، توی نمونه برنامه که بهت دادم است!!!!!!!! خوب چه فرقی میکنه؟؟؟؟؟/

hastiam
چهارشنبه 25 آبان 1390, 10:16 صبح
خوب چه فرقی میکنه؟؟؟؟؟/


مثلا در یکی از نمونه کدها(در آدرس http://www.codeproject.com/KB/aspnet/ParentChildTreeView.aspx): با دستور زیر اول root ها رو پر کرده


objTreeView.Nodes.Add(treeRoot);

و بعد از چند خط پایینتر با دستور زیر اومده تک تک childNode هارو به ریشه مربوط به خودش اضافه کرده


treeRoot.ChildNodes.Add(childnode);

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


من در برنامم این دستور رو دارم
var SelectRoot = from i in db.tb_table1 where i.subid=4 select i.parentID
که تا یک سطح عقبتر رو با این دستور بدست میارم ولی دو سطح عقبتر رو نمیدونم با چه دستوری پیدا کنم؟!!!!!!