ورود

View Full Version : منو دینامیک با زیر منو نا محدود



bitcob589
چهارشنبه 21 فروردین 1392, 10:33 صبح
با سلام
چگونه می توان منو دینامیک با زیر منو نا محدود با linq پیاده سازی کرد

bitcob589
چهارشنبه 04 دی 1392, 00:11 صبح
آیا با linq و entity نمی توان منو دینامیک پیاده سازی کرد

bitcob589
پنج شنبه 08 اسفند 1392, 13:52 عصر
آیا هیچ روشی وجود ندارد
منو دینامیک با زیر منو نا محدود با linq پیاده سازی کرد ( تحت وب )

لطفا راهنمایی بفرمایید:گریه::عصبانی++::گری :

bahareh1368
چهارشنبه 14 اسفند 1392, 09:25 صبح
آیا هیچ روشی وجود ندارد
منو دینامیک با زیر منو نا محدود با linq پیاده سازی کرد ( تحت وب )

لطفا راهنمایی بفرمایید:گریه::عصبانی++::گری :


جدول بصورت زیر تعربف شده :

EmployeeID که کلید اصلی است
BoosID که اگه با EmployeeID برابر باشه زیر منو ها رو مشخص میکنه
Name
Title

برای مثال داریم :
1 0 زبان های برنامه نویسی NULL
2 1 C#‎‎‎‎ Asp.NET برنامه نویسی وب با سی شارپ
3 1 VB Asp.NET برنامه نویسی وب با وی بی
4 2 MVC
5 2 Web Form
6 1 PHP

در رویداد page_Load داریم :



var employees = db.Employees.ToList();
var parentMenus = employees.Where(e => e.BossID == 0).ToList();
var sb = new StringBuilder();
string unorderedList = GenerateUl(parentMenus, employees, sb);
string menu = unorderedList;


تابعی که منو رو درست میکنه بصورت زیر تعریف میشه :



public string GenerateUl(List<Employees> parenMenu, List<Employees> employee, StringBuilder sb)
{
sb.AppendLine("<ul>");
if (parenMenu.Count > 0)
{
foreach (var item in parenMenu)
{
string menuTitle = item.Title;
string menuName = item.Name;
string begin = string.Format("<li id='{0}'>{1}<br/>{2}", item.EmployeeID, menuName, menuTitle);
sb.AppendLine(begin);
int employeeID = item.EmployeeID;
var subMenu = employee.Where(e => e.BossID == employeeID).ToList();
if (subMenu.Count > 0)
{
var subMenuBuilder = new StringBuilder();
sb.Append(GenerateUl(subMenu, employee, subMenuBuilder));
}
sb.Append("</li>");
}
}
sb.Append("</ul>");
return sb.ToString();
}

bitcob589
چهارشنبه 14 اسفند 1392, 15:18 عصر
خروجی کدهای بالا چگونه نمایش داده شود

bahareh1368
چهارشنبه 14 اسفند 1392, 21:18 عصر
خروجی کدهای بالا چگونه نمایش داده شود

میتونید در قالب اچ تی ام ال یعنی ساختار درختی با li و ui نشون بدید یا بصورت treeview یا چارت و هرچیز دیگه ای که شما نیاز داشته باشیذ.من خودم بصورت چارت نشون دادم.

bitcob589
پنج شنبه 22 اسفند 1392, 14:18 عصر
چگونه می توان ساختار جدول پست 4 در دیتالیست نمایش دهیم یعنی اگر دیتابیس به صورت زیر باشد
---------------------------------------------------





EmployeeID

BoosID

Name


1
0
خودرو


2
0
پوشاک


3
1
پراید


4
2
دامن


5
1
پیکان









چگونه می توان اطلاعات از دیتابیس خواند و به صورت زیر در datalist به صورت زیر نمایش داده شود


خودرو
پراید


پوشاک
دامن


خودرو
پیکان

bahareh1368
پنج شنبه 22 اسفند 1392, 23:24 عصر
کافیه درون دیتا لیست تو تا لیبل بذارید و در تابع eval شرط قرار دهید. یکی از شرط ها اینه که اونهایی رو نشون بده که boosID مخالف صفر باشه(لیبل های دوم درست میشه) و شرط بعدی اون هایی هستند که EmployeeID ==BoosID است(برای اینکه نام گروه ها را پیدا کنی یعنی بفمی لیبل اون نامش خودرو که جلوش پراید اومده ).

bitcob589
پنج شنبه 22 اسفند 1392, 23:34 عصر
کافیه درون دیتا لیست تو تا لیبل بذارید و در تابع eval شرط قرار دهید. یکی از شرط ها اینه که اونهایی رو نشون بده که boosID مخالف صفر باشه(لیبل های دوم درست میشه) و شرط بعدی اون هایی هستند که EmployeeID ==BoosID است(برای اینکه نام گروه ها را پیدا کنی یعنی بفمی لیبل اون نامش خودرو که جلوش پراید اومده ).
یک مثال می گذارید

Mani_rf
شنبه 30 فروردین 1393, 15:26 عصر
چیزی که شما لازم دارید تو این تاپیک (http://barnamenevis.org/showthread.php?353081-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-%DA%A9%D9%86%D8%AA%D8%B1%D9%84-Treeview-%D8%A8%D8%B1%D8%A7%DB%8C-%D9%85%D8%B4%D8%A7%D9%87%D8%AF%D9%87-%D8%A7%D8%B7%D9%84%D8%A7%D8%B9%D8%A7%D8%AA-%DB%8C%DA%A9-%D8%AC%D8%AF%D9%88%D9%84-self-join-%D9%88-%D8%A8%D9%87-%D8%B5%D9%88%D8%B1%D8%AA-parent-and-child-nodes)توضیح داده شده دوست عزیز.