PDA

View Full Version : مبتدی: نحوه کار با treeView بصورت ارتیاط با بانک اطلاعاتی



Yanehsar
پنج شنبه 22 دی 1390, 13:50 عصر
سلام عرض میکنم به دوستان
می خوام بدون چطوری میشه با treeView کار انجام داد اما من می خوام root ها و child های خودم از بانک اطلاعاتی استراج کنم.مثلا root ها را از جدول شماره یک child ها را جدول 2 و بتوانم اطلاعات رو دستکاری(ویرایش ،اضافه،حذف) کنم.
میشه راهنمائیم کنید یا نمونه برنامه ای بهم نشون بدهید.من با access کار می کنم.مرسی

aslan
پنج شنبه 22 دی 1390, 15:14 عصر
http://www.dreamincode.net/forums/topic/201866-populate-treeview-from-access-database/

Yanehsar
شنبه 24 دی 1390, 14:36 عصر
سلام
میتونید یه نمونه برنامه برام بذارید؟من نتونستم این کدها رو انالیز کنم.
میخوام 3 تا جدول داشته باشم که جدول یک root های منو تشکیل بده جدول دوم clid های من و جدول سوم cildهای زیرین باشه.به عنوان مثال یه مدرسه کاردانش رشته های که داخل این مدرسه هستش root ها بشن مثلا کامپیوتر یکی از این root ها کلاس های که داخل این root هست 3تا باشه به 1 و 2و 3 و دانش آموزان رو بتونیم داخل این کلاسها تقسیم کنیم.
کسی میتونه کمکم کنه:ناراحت:

Yanehsar
شنبه 24 دی 1390, 18:39 عصر
سلام
میتونید یه نمونه برنامه برام بذارید؟من نتونستم این کدها رو انالیز کنم.
میخوام 3 تا جدول داشته باشم که جدول یک root های منو تشکیل بده جدول دوم clid های من و جدول سوم cildهای زیرین باشه.به عنوان مثال یه مدرسه کاردانش رشته های که داخل این مدرسه هستش root ها بشن مثلا کامپیوتر یکی از این root ها کلاس های که داخل این root هست 3تا باشه به 1 و 2و 3 و دانش آموزان رو بتونیم داخل این کلاسها تقسیم کنیم.
کسی میتونه کمکم کنه:ناراحت:

کسی نیست کمکم کنه.......................................:گر یه:

modern_amin
یک شنبه 25 دی 1390, 08:22 صبح
با سلام، دوست عزیز ، باید اینکارو دستی انجام بدی (نمونه سورس راهنما که کمکت کنه تو سایت هست)
بعد از هر عمل ADD.Node عملیات insert to database رو با فیلدهای نام نود ، نام پدر و توضیحاتی از اون و ... رو انجام بده
و برای لود هم با توجه به نود پدر یکی یکی بساز

pooria_googooli
یک شنبه 25 دی 1390, 09:08 صبح
این یه نمونه برنامه که استان ها و شهرهاشون را نشان میده .
80827

pooria_googooli
یک شنبه 25 دی 1390, 09:10 صبح
ادامه فایل های دیتا بیس

Yanehsar
دوشنبه 26 دی 1390, 19:30 عصر
ادامه فایل های دیتا بیس

سلام
مرسی از فایلهای که قرار دادید اما فکر کنم با 2010 نوشتید نتونستم کدها رو ببینم میشه با 2008 ذخیره کنید و برام بفرستید.مرسی

shadi khanum
دوشنبه 26 دی 1390, 21:19 عصر
حتما میخوای تو Treeview نشون بدی؟ گرید جانوس به راحتی (توسط خود Designer گرید) این کار رو واستون انجام میده و نمایشش رو هم میتونی با یه کم ور رفتن به propertyهاش شبیه treeview کنی.. چون سه تا جدول داری parent chile گرید جانوس خیلی به دردت میخوره

Yanehsar
سه شنبه 27 دی 1390, 08:57 صبح
سلام منظورتون از گرید جانوس چیه؟مشیه راهنمایی کنید؟یه نمونه کد میشه برام بذارید؟؟؟؟/البته با ویژال 2008:قلب:

cherchil_hra
سه شنبه 27 دی 1390, 21:45 عصر
سلام
میتونید یه نمونه برنامه برام بذارید؟من نتونستم این کدها رو انالیز کنم.
میخوام 3 تا جدول داشته باشم که جدول یک root های منو تشکیل بده جدول دوم clid های من و جدول سوم cildهای زیرین باشه.به عنوان مثال یه مدرسه کاردانش رشته های که داخل این مدرسه هستش root ها بشن مثلا کامپیوتر یکی از این root ها کلاس های که داخل این root هست 3تا باشه به 1 و 2و 3 و دانش آموزان رو بتونیم داخل این کلاسها تقسیم کنیم.
کسی میتونه کمکم کنه:ناراحت:

اگه این زیر مجموعه شما بخواد ادامه پیدا بکنه (پروژه های دیگه) باز هم یه جدول دیگه می خوای بذاری؟ اگه N زیر مجموعه داشته باشی باید واسه هرکدوم N تا جدول درست کنی.

راه درستش اینه که شما همه رو در بک جدول قرار بدی.
id, parentID, name
allow null فیلد id رو برابر true میذاری. id جدولت رو هم می تونه به صورت اتوماتیک مقدار دهی بشه
گره هایی که ریشه ات هستند ParentID=null میشه. اونایی که زیر گروه هستند ID سرگروهشون رو در parentID میذاری.
اینجوری تا بی نهایت زیرگروه شما ادامه پیدا می کنه

وقتی هم بخوای توی tree اضافه بکنی از ریشه ها شروع می کنی (هر گره ای که parentID= null) و با خواندن هر ریشه تمام زیر مجموعه اش رو برمیگردونی (تابع بازگشتی)

بازگشتی نخوای بنویسی می تونی مثل ویندوز کار کنی. یعنی همه نودهای ریشه رو اضافه کنی و به هر کدوم یک child اضافه کنی(کاربر نمی بینه) هروقت کاربر روی + کلیک کنه می تونی child های اون گره رو بخونی و اضافه کنی. اگه child نداشت اون تک child که اضافه کردی رو حذف می کنی.

Yanehsar
سه شنبه 04 بهمن 1390, 11:25 صبح
سلام مرسی از راهنماییتون فهمیدم چیکار کنم اما یه سوال دارم اونم این که چطوری به child اضافه کنم منم تونستم ریشه هامو بسازم اما نمیدونم چطور میتونم به ریشه هام اضافه کنم:گریه:
treeView1.Nodes.Add("test","test");
من با استفاده child پدر را ساختم حالا بخوام اعضاء آن اضافه کنم چه دستوری هستش؟؟؟؟؟؟؟؟؟؟؟؟:ناراحت:

modern_amin
سه شنبه 04 بهمن 1390, 11:32 صبح
از SELECTED.NODE استفاده کن

Yanehsar
سه شنبه 04 بهمن 1390, 17:42 عصر
از SELECTED.NODE استفاده کن

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

modern_amin
چهارشنبه 05 بهمن 1390, 17:03 عصر
اینجارو ببین تا کدها دستت بیاد
.
private void InitializeTreeView()
{
treeView1.BeginUpdate();
treeView1.Nodes.Add("Parent");
treeView1.Nodes[0].Nodes.Add("Child 1");
treeView1.Nodes[0].Nodes.Add("Child 2");
treeView1.Nodes[0].Nodes[1].Nodes.Add("Grandchild");
treeView1.Nodes[0].Nodes[1].Nodes[0].Nodes.Add("Great Grandchild");
treeView1.EndUpdate();
}

shadi khanum
چهارشنبه 05 بهمن 1390, 23:08 عصر
دوست عزیز این sample رو ببین. مشکلت حل میشه
موفق باشی

modern_amin
پنج شنبه 06 بهمن 1390, 07:59 صبح
مثالی خوبی بود
فقط دوست عزیز قبل زدم add child حتما باید یکی از نودها رو انتخاب کنب تا خطا نده

sa.az.1225
چهارشنبه 08 خرداد 1392, 07:29 صبح
اگه این زیر مجموعه شما بخواد ادامه پیدا بکنه (پروژه های دیگه) باز هم یه جدول دیگه می خوای بذاری؟ اگه N زیر مجموعه داشته باشی باید واسه هرکدوم N تا جدول درست کنی.

راه درستش اینه که شما همه رو در بک جدول قرار بدی.
id, parentID, name
allow null فیلد id رو برابر true میذاری. id جدولت رو هم می تونه به صورت اتوماتیک مقدار دهی بشه
گره هایی که ریشه ات هستند ParentID=null میشه. اونایی که زیر گروه هستند ID سرگروهشون رو در parentID میذاری.
اینجوری تا بی نهایت زیرگروه شما ادامه پیدا می کنه

وقتی هم بخوای توی tree اضافه بکنی از ریشه ها شروع می کنی (هر گره ای که parentID= null) و با خواندن هر ریشه تمام زیر مجموعه اش رو برمیگردونی (تابع بازگشتی)

بازگشتی نخوای بنویسی می تونی مثل ویندوز کار کنی. یعنی همه نودهای ریشه رو اضافه کنی و به هر کدوم یک child اضافه کنی(کاربر نمی بینه) هروقت کاربر روی + کلیک کنه می تونی child های اون گره رو بخونی و اضافه کنی. اگه child نداشت اون تک child که اضافه کردی رو حذف می کنی.



سلام تو رو خدا یه نمونه مثال کامل از ذخیره در بانک sql server و بازیابی در treeview بزن دارم هلاک میشم

sa.az.1225
چهارشنبه 08 خرداد 1392, 07:30 صبح
سلام تو رو خدا یه نمونه مثال کامل از ذخیره در بانک sql server و بازیابی در treeview بزن دارم هلاک میشم