ورود

View Full Version : حرفه ای: نمایش نظرات تایید شده به صورت درختی



parsdarab
شنبه 09 مرداد 1395, 09:50 صبح
سلام
من یه جدول دارم که به صورت زیر تعریف شده است

141768

وبرای نمایش درختی از روش زیر استفاده شده است.
http://mvctreeview.codeplex.com/


مشکل اینجاست که نظراتی که تایید شده اند را میخام نمایش بدم.

من از کد زیر استفاده کردم


var r = _BlogCommentService.Base_GetAll(x => x.Status == DataAccess.Enums.CommentStatus.Approved).ToList();
model.Comments = r.Where(x => x.Reply == null).ToList();


اما چون ساختار به صورت درختی و Self Referencing Entities می باشد شرط x.Status == DataAccess.Enums.CommentStatus.Approved فقط در سطح اول اعمال می شود
اگه بخایم یک شرط linq را به صورت عمقی اعمال کنیم باید چیکار کنیم؟

یا اگه روش دیگه ای کسی استفاده کرده ممنون میشم راهنمایی کنه؟

m_kalantar.cs
سه شنبه 12 مرداد 1395, 15:12 عصر
سلام
اگر از http://mvctreeview.codeplex.com/ استفاده می کنید در حالت عادی ساختار و نحوه نمایش را در ItemTemplate تعریف میکنید به مثال زیر توجه کنید:








@(Html.TreeView(Model)
.EmptyContent("No locations have been defined yet!")
.Children(m => m.ChildLocations)
.HtmlAttributes(new { id = "tree"})
.ChildrenHtmlAttributes(new { @class = "subItem"})
.ItemText(m => m.Name)
.ItemTemplate(
@<text>
<a href="#@item.Id">@item.Name</a>
</text>)
)


حال در قسمت .ItemTemplate کافی است یک شرط قرار دهید که فقط گزینه های تایید شده را نشان دهد مانند مثال زیر







.ItemTemplate(
@<text>
@if (item.IsApproved )
{
<a href="#@item.Id">@item.Name</a>
}
</text>)

parsdarab
چهارشنبه 13 مرداد 1395, 04:48 صبح
سلام
جواب داد اما یه مشکل کوچیک توی بخش دیزاین به وجود اومده اونم به خاطر تگ های li فک کنم باشه

141829

m_kalantar.cs
چهارشنبه 13 مرداد 1395, 08:25 صبح
به li های خود به صورت زیر استایل بدهید



ul li {

list-style:none
}

parsdarab
چهارشنبه 13 مرداد 1395, 20:51 عصر
ممنونم
اصلا فکرشو نمی کردن درست بشه