Используя этот код, я могу связать treeView, а также получить данные, используя значение treeview.
Но я не могу установить выбранное значение во время операции редактирования.
Здесь я определил свой вид:
<div id="dropdownDiv" class="NSDropdown dropdown" style="width:200px;">
<a class="btn dropdown-toggle" style="width:200px; text-align:left;" type="button" data
toggle="dropdown">
@DbRes.T("NetworkStructure", "MessageRes")
<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li>
@(Html.Kendo().TreeView()
.Name("treeview")
.DataTextField("Name")
.DataSource(dataSource => dataSource
.Read(read => read
.Action("Read_TreeViewData", "ProjectOverview")
)
)
)
</li>
</ul>
</div>
Здесь я определил свой контроллер
Это мой метод действия, и он используется для Binding Treeview
, если у узла есть дочерняя запись, вызовите рекурсивное действие.
public JsonResult Read_TreeViewData(int? id)
{
_structureService = new StructureService();
List<StructureModel> objlistStructureServiceRegion = _structureService.Get(0, "REG");
List<StructureModel> objlistStructureServiceDistrict = _structureService.Get(0, "SLSD");
List<StructureModel> objlistStructureServiceDealer = _structureService.Get(0, "DLR");
int? parentEntityId=id;
bool includeParentNode=true;
int entityId=0;
int structureId=0;
structureId = objlistStructureServiceRegion.FirstOrDefault().StructureId;
if (id.HasValue && id > 1)
structureId = objlistStructureServiceDistrict.FirstOrDefault().StructureId;
if (id.HasValue && id > 6)
{
structureId = objlistStructureServiceDealer.FirstOrDefault().StructureId;
var result = GetEntity(structureId, entityId, parentEntityId, includeParentNode)
.Where(x => id.HasValue ? x.ParendID == id : x.ParendID == null)
.Select(item => new
{
id = item.EntityId,Name = item.Code +'-'+ item.Name,expanded = false,hasChildren = false
});
return Json(result, JsonRequestBehavior.AllowGet);
}
else
{
var result = GetEntity(structureId, entityId, parentEntityId, includeParentNode)
.Where(x => id.HasValue ? x.ParendID == id : x.ParendID == null)
.Select(item => new
{
id = item.EntityId,
Name = item.Code +'-'+ item.Name,
expanded = false,
hasChildren = true
});
return Json(result, JsonRequestBehavior.AllowGet);
}
int? parentEntityId=id;
bool includeParentNode=true;
int entityId=0;
int structureId=0;
structureId = objlistStructureServiceRegion.FirstOrDefault().StructureId;
if (id.HasValue && id > 1)
structureId = objlistStructureServiceDistrict.FirstOrDefault().StructureId;
if (id.HasValue && id > 6)
{
structureId = objlistStructureServiceDealer.FirstOrDefault().StructureId;
var result = GetEntity(structureId, entityId, parentEntityId, includeParentNode)
.Where(x => id.HasValue ? x.ParendID == id : x.ParendID == null)
.Select(item => new
{
id = item.EntityId,
Name = item.Code +'-'+ item.Name,
expanded = false,
hasChildren = false
});
return Json(result, JsonRequestBehavior.AllowGet);
}
else
{
var result = GetEntity(structureId, entityId, parentEntityId, includeParentNode)
.Where(x => id.HasValue ? x.ParendID == id : x.ParendID == null)
.Select(item => new
{
id = item.EntityId,
Name = item.Code +'-'+ item.Name,
expanded = false,
hasChildren = true
});
return Json(result, JsonRequestBehavior.AllowGet);
}
}