我有一个 KendoTreeview。我正在使用 MVC4 和 KendoUI 的最新版本。我也在使用 sql server 和 C#
假设我有一个名为“MyDB”的数据库,该数据库中有一个名为“Products”的表。
表“产品”: ID -- int -- pk Name -- nvarchar(50) Parent -- int -- FK
我想要一个产品有子产品...
好的,现在在控制器中我有:
public JsonResult ProductsForTreeView(int? id)
{
var dataContext = new ProductsDBContext();
var products = from e in dataContext.Products
where ( id.HasValue ? e.Parent == id : e.Parent == 0)
select new
{
id = e.Id,
Name = e.Name,
hasChildren = e.Id
};
return Json(products , JsonRequestBehavior.AllowGet);
}
和观点:
@(Html.Kendo().TreeView()
.Name("treeview")
.DataTextField("Name")
.HighlightPath(true)
.DataSource(dataSource => dataSource
.Read(read => read
.Action("ProductsForTreeView", "SiteMap")
)
)
)
这可以正常工作并正确显示树视图(几乎!),除了树视图在每个节点旁边显示 + ......无论它是否有子节点。
要么我需要修改我的 LINQ,要么甚至使用一些 JavaScript 来删除没有子元素的“+”...
“+”的类名是“k-icon k-plus”。
如何阻止树视图将此“+”附加到每个节点?它应该只显示给有子节点的节点。