PDA

View Full Version : مبتدی: مشکل در نشان دادن اطلاعات در tree view



h.rezaee
پنج شنبه 05 مرداد 1391, 23:59 عصر
سلام بر دوستان و اساتید محترم. دوستان بنده از کدهای زیر برای نشون دادن نوع و نام حیوانات مختلف استفاده می کنم. منتها یک قسمتی از اون مشکل داره اونم اینه که به حای این که مثلا حیوناتی که از نوع خزنده هستند زیر هم قرار بگیرند هر کدام به صورت جدا و مجزا برای خودشون نوع درست می کنن. کد + عکس رو میزارم تا بهتر مفهومم رو برسونم . ممنون میشم اگر کمک کنید.

private static SqlConnection con = new SqlConnection(@"Data Source=localhost;Initial Catalog=epnotronsoft;Integrated Security=True");
private static DataTable dt = new DataTable();

private void mainfrm_Load(object sender, EventArgs e)
{
treeView1.Nodes.Clear();
SqlDataAdapter da = new SqlDataAdapter("select * from mainfrm", con);
dt.Clear();
da.Fill(dt);


foreach (DataRow item in dt.Rows)
{
treeView1.Nodes.Add(item["id"].ToString(), item["kind"].ToString());
treeView1.Nodes[Convert.ToString(item["id"])].Nodes.AddRange(new TreeNode[] { new TreeNode(Convert.ToString(item["name"])) });
}

da.Dispose();
dt.Dispose();
da = null;
}

ali_habibi1384
جمعه 06 مرداد 1391, 00:42 صبح
فكر ميكنم براي هر نوع داري دو نود درست ميكني. وقتي ميخواي نود بعدي رو اد ميكني بايد به فيلد بعدي جدولد اشاره كني .اگر همه رو توي يك ديتا تيبل ريختي.
پروژه تو اينجا بذار ببينيم

hosseinenayati_2009
جمعه 06 مرداد 1391, 03:38 صبح
سلام
شما باید ابتدا پدر های تریو را بسازید . برای اینکه مثلا دوتا خرنده گان نداشته باشید از دستور DISTINCT جلوی فیلد نوع حیوانات بذارید.
بعدا بیاید فرزندانتونرا به تری ویو اضافه کنید اینجور که اولین سطر تیبل را بخونید و شرط بذاریم که یا select case بذارید که اگر نوع حیوان از نوع خزنده گان است بیاد به اون ایتمی که تکستش برابر خزنده گان است اضافه بشه .
اینجوری درست میشه.






















ا

h.rezaee
جمعه 06 مرداد 1391, 04:15 صبح
فكر ميكنم براي هر نوع داري دو نود درست ميكني. وقتي ميخواي نود بعدي رو اد ميكني بايد به فيلد بعدي جدولد اشاره كني .اگر همه رو توي يك ديتا تيبل ريختي.
پروژه تو اينجا بذار ببينيم
دوست عزیز حجم پروژه بالاست آپلود کردنش فقط 1-2 ساعت طول می کشه. هر کجا که نیازه بگو برات با عکس و کد می زارم.

h.rezaee
جمعه 06 مرداد 1391, 04:17 صبح
سلام
شما باید ابتدا پدر های تریو را بسازید . برای اینکه مثلا دوتا خرنده گان نداشته باشید از دستور DISTINCT جلوی فیلد نوع حیوانات بذارید.
بعدا بیاید فرزندانتونرا به تری ویو اضافه کنید اینجور که اولین سطر تیبل را بخونید و شرط بذاریم که یا select case بذارید که اگر نوع حیوان از نوع خزنده گان است بیاد به اون ایتمی که تکستش برابر خزنده گان است اضافه بشه .
اینجوری درست میشه.















ممنون از راهنمایی. دوست عزیز ممنون میشم اگه یک sample قرار بدید. یا این که دستور خطی با توضیح بزارید چون بنده تو این زبان برنامه نویسی تازه واردم.

h.rezaee
جمعه 06 مرداد 1391, 04:54 صبح
این هم برنامه. منتها دیتا بیس خیلی سنگینه نمیشه گذاشت.

ali_habibi1384
جمعه 06 مرداد 1391, 11:20 صبح
برات درستش كردم اينجوري شد:
http://1.0.0.img98.net/out.php/i415322_tree.jpg
البته ساختار ديتا بيستو من نميدونستم يه ديتا تيبل مثل اوني كه توي دستوراتت باهاش كار كرده بودي ساختم با اون كار كردم.براي توضيح فقط بگم بايد يه جدول بسازي با استفاده از دستور Distinct كه مثالش توي برنامه هست جدول نوع هاتو اول بسازي بعدش اطلاعاتت رو به درختت اضافه كني.

h.rezaee
جمعه 06 مرداد 1391, 11:36 صبح
برات درستش كردم اينجوري شد:
http://1.0.0.img98.net/out.php/i415322_tree.jpg
البته ساختار ديتا بيستو من نميدونستم يه ديتا تيبل مثل اوني كه توي دستوراتت باهاش كار كرده بودي ساختم با اون كار كردم.براي توضيح فقط بگم بايد يه جدول بسازي با استفاده از دستور Distinct كه مثالش توي برنامه هست جدول نوع هاتو اول بسازي بعدش اطلاعاتت رو به درختت اضافه كني.

دوست عزیز فقط یه سوال پیش اومد اونم اینه که باید همه حیوونا رو دستی وارد کنیم. 300 تا حیوون کم نیست.

ali_habibi1384
جمعه 06 مرداد 1391, 11:39 صبح
دوست عزیز فقط یه سوال پیش اومد اونم اینه که باید همه حیوونا رو دستی وارد کنیم. 300 تا حیوون کم نیست.
متاسفانه بله. چون treeView ديتا سورس نداره

h.rezaee
جمعه 06 مرداد 1391, 12:03 عصر
متاسفانه بله. چون treeView ديتا سورس نداره

واقعا!:متعجب::متعجب:
پس اشکم در میاد:گریه::گریه:

h.rezaee
جمعه 06 مرداد 1391, 12:15 عصر
دوست عزیز حالا اگه بخوام با کلیک روی آنها بره و متن و عکس و ... رو تو یه صفحه ی دیگه نشون بده چه جوریه؟

h.rezaee
جمعه 06 مرداد 1391, 12:39 عصر
دوست عزیز حالا اگه بخوام با کلیک روی آنها بره و متن و عکس و ... رو تو یه صفحه ی دیگه نشون بده چه جوریه؟
مرسی درش آوردم.