PDA

View Full Version : حرفه ای: گرفتن value و text همه نود های treeviewd چه انتخاب شده ها، چه انتخاب نشده ها



soha_smb
چهارشنبه 28 اسفند 1392, 11:34 صبح
با سلام
من یه treeview دارم که داینامیک پرش می کنم،چطوری میتونم value و text همه نود های اون رو بدست بیارم( چه آنهایی که انتخاب شده اند و چه آنهایی که انتخاب نشده )

mRizvandi
چهارشنبه 28 اسفند 1392, 23:45 عصر
روش کار اینطوریه که باید یک حلقه برای نودهای ریشه بنویسی، (می تونی این کار رو در یک متد انجام بدی) سپس وقتی هر نود ریشه رو خوندی بری داخل اون برای اینکه نودهای زیرشاخه رو بخونی (یک متد دیگه برای بدست آوردن لیست زیرشاخه های یک نود ریشه باید بنویسی)
داخل متد دوم هم یک حلقه میزنی که همه نودها رو بخونه و با خوندن هر نود یکبار خود همین متد رو کال می کنی تا به روش بازگشتی تمام نودها رو بخونی.
دلیل اینکه باید از دو متد مجزا برای خوندن ریشه و زیرشاخه استفاده کنی اینه که متاسفانه نودهای ریشه از جنس rootnode هستند در حالی که بقیه نودها از جنس treenode هستند.



//pseudo code
ReadAllNodes()
{
foreach(rootnode rnode in mytreeview)
{
//do something
ReadChildNode(rnode)
}
}
ReadChildNode(TreeNode parentNode)
{
foreach(treenode childNode in parentNode)
{
//do something
ReadChildNode(childNode)
}
}
}

soha_smb
سه شنبه 02 اردیبهشت 1393, 18:02 عصر
میشه بیشتر توضیح بدی
من این کد ها رو کجا باید بنویسم؟
foreach(rootnode rnode in mytreeview) رو اصلا نمی شناسه

mRizvandi
چهارشنبه 03 اردیبهشت 1393, 00:15 صبح
میشه بیشتر توضیح بدی
من این کد ها رو کجا باید بنویسم؟
foreach(rootnode rnode in mytreeview) رو اصلا نمی شناسه

دوست عزیز کدی که من براتون گذاشتم شبه کد هست، یعنی باید مطابق برنامه تون تغییرش بدید.
mytreeview اسم کنترل treeview هست که شما می خواهین روش حلقه بذارید.

soha_smb
چهارشنبه 03 اردیبهشت 1393, 13:35 عصر
ممنون حل شد.
کاملش که کردم می زارم دیگران هم استفاده کنن.
با تشکر
فقط یه سئوال دیگه در مورد treeview دارم که اونو اینجا پرسیدم
تیک دار کردن نود های treeview به صورت داینامیک (http://barnamenevis.org/showthread.php?449500-%D8%AA%DB%8C%DA%A9-%D8%AF%D8%A7%D8%B1-%DA%A9%D8%B1%D8%AF%D9%86-%D9%86%D9%88%D8%AF-%D9%87%D8%A7%DB%8C-treeview-%D8%A8%D9%87-%D8%B5%D9%88%D8%B1%D8%AA-%D8%AF%D8%A7%DB%8C%D9%86%D8%A7%D9%85%DB%8C%DA%A9)