0

当 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'
                    }
                });
            }

==================================================== =======

问题:-

  1. 当树的任何节点正在扩展时,如何将选定的节点 ID 发送到服务?当我在服务“public List GetAllCategories()”如“string entityID = HttpContext.Current.Request.QueryString["EntityID"];”中检索它时,我在上面的示例中发送的方式不起作用 我将实体 ID 设为空。

  2. 如果 LoadOnDemand 为真,当任何节点展开时如何渲染树?

请帮助我,我已经花了很多时间。

4

1 回答 1

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);
                    }
                });
            }
于 2012-07-11T13:36:29.697 回答