PDA

View Full Version : سوال: بایند کردن tree view از دیتا بیس



mohammadyaser
یک شنبه 20 آذر 1390, 15:06 عصر
سلام من می خوام روی فرمم یک tree view بگذارم که اطلاعات جدولی به نام menu را از دیتابیس بخواد .ومن روی هر عنصر از ان که کلیک کردم .مقدار ان را برگرداند.
کسی از دوستان نمونه ای دارد ؟


فیلدهای جدول menu در دیتا بیس هم به این صورت است

MENUID,Text,ParentID,NAVURL

ممنون

hamid_shrk
یک شنبه 20 آذر 1390, 15:12 عصر
امیدوارم این کد به درتون بخوره، تو پیج لود باید باشه :

if (!IsPostBack)
{
List<ProductsCategory_BO> PCItem_BO = ProductsCategory_BA.getListProductsCategory();
for (int i = 0; i < PCItem_BO.Count; i++)
{
TreeNode TRP = new TreeNode();
TRP.Text = PCItem_BO[i].Title;
TRP.Value = PCItem_BO[i].IdProductsCategory.ToString();
TreeView1.Nodes.Add(TRP);
ProductsSubCategory_BA PSCItem_BA = new ProductsSubCategory_BA();
List<ProductsSubCategory_BO> PSCItem_BO = ProductsSubCategory_BA.getListProductsSubCategoryB yGroup(PCItem_BO[i].IdProductsCategory);
for (int j = 0; j < PSCItem_BO.Count; j++)
{
TreeNode TRCh = new TreeNode();
TRCh.Text = PSCItem_BO[j].Name;
TRCh.Value = PSCItem_BO[j].IdProductsSubCategory.ToString();
//TRCh.NavigateUrl = "../Product.aspx?GroupId=" + TRCh.Value + "&GName=" + TRCh.Text;
TRP.ChildNodes.Add(TRCh);
}
}
}

البته معماریه پروژم 3 لایه بوده ، امیدوارم متوجه بشید کد رو.
تو رویداد
SelectedNodeChanged
هم میتونید اطلاعات رو واکشی کنید.

mohammadyaser
یک شنبه 20 آذر 1390, 15:28 عصر
ممنون دوست من یک مقدار در مورد کدتون توضیح بدید ممنون می شم

hamid_shrk
یک شنبه 20 آذر 1390, 15:38 عصر
این کد از دو تا جدول که یکیشون والده اون یکی هست میخونه و نود ها رو هم بر اساس این رابطه پر میکنه ، البته شما این روال رو تو یک Table پیاده کردید انگار.

TreeNode TRP = new TreeNode();

یک نود میسازه

TreeNode TRCh = new TreeNode();

TRP.ChildNodes.Add(TRCh);


یک نود فرزند به نود قبلی اضافه میکنه.