当LoadOnDemand设置为true时,我需要您使用igTree的帮助。 我有一个WCF REST服务,它为我提供了填充igTree的数据。
请找到示例代码..
$.ajax(
{
type: "GET",
url: "AssessmentProcWCFService.svc/GetAllEntities",
contentType: "application/json; charset=utf-8",
dataType: 'json',
data: '{}',
cache: false,
success: OnGetAllEntitiesSuccess,
error: OnGetAllEntitiesFailure
});
=============================================== ===
function OnGetAllEntitiesSuccess(categoryList) {
$("#APTreeView").igTree({
animationDuration: 0,
dataSourceType: 'json',
dataSource: categoryList.d,
initialExpandDepth: false,
loadOnDemand: true,
dataSourceUrl: "AssessmentProcWCFService.svc/GetAllCategories?EntityID=primaryKey:id",
bindings: {
textKey: 'text',
valueKey: 'id',
primaryKey: 'id',
expanded: 'expanded',
childDataProperty: 'children'
}
});
}
=============================================== ==========
问题: -
当树的任何节点正在扩展时,如何将所选节点ID发送到服务? 我在上面的例子中发送的方式,当我在服务“public List GetAllCategories()”中检索它时它不起作用 “string entityID = HttpContext.Current.Request.QueryString [”EntityID“];” 我将实体ID设为null。
如果LoadOnDemand为true,当任何节点扩展时如何呈现树?
请帮助我,我花了很多时间。
答案 0 :(得分:1)
基本上,您可以在对服务的请求中编码您喜欢的任何内容:
以下是解释的默认请求参数:http://www.infragistics.com/community/forums/t/65356.aspx
以下是添加请求参数的方法:
function OnGetAllEntitiesSuccess(categoryList) {
$("#APTreeView").igTree({
animationDuration: 0,
dataSourceType: 'json',
dataSource: categoryList.d,
initialExpandDepth: false,
loadOnDemand: true,
dataSourceUrl: "AssessmentProcWCFService.svc/GetAllCategories?EntityID=primaryKey:id",
bindings: {
textKey: 'text',
valueKey: 'id',
primaryKey: 'id',
expanded: 'expanded',
childDataProperty: 'children'
},
nodePopulating: function (event, ui) {
var node = '&SelectedNodeID=' + $("#APTreeView").igTree('selectedNode').element.attr('data-value'),
myNewUrl = 'AssessmentProcWCFService.svc/GetAllCategories?EntityID=primaryKey:id' + node;
$('#myTree').igTree('option', 'dataSourceUrl', myNewUrl);
}
});
}