【问题标题】:JqWidgets treegrid issues wiring up dataAdapter objectJqWidgets treegrid 问题连接 dataAdapter 对象
【发布时间】:2014-09-29 23:20:55
【问题描述】:

我在 AngularJS 环境中,并试图让 jqWidgets TreeGrid 工作。

我将 dataAdapter 全部与 Json 格式的数据连接起来,但是网格只呈现一行。

我在同一页面上也有一个测试 treeGrid,并带有示例数据,它工作正常。

我将最终的 Json 数据设置并排放置,以尝试确定我哪里出错了。

我已将此页面用作连接 treegrid 设置等的指南。http://www.jqwidgets.com/jquery-widgets-documentation/documentation/angularjs/angularjs.htm

这是显示“坏”网格的 jqx treegrid 指令的 html:

<jqx-tree-grid jqx-instance="jqGridHierObj" jqx-settings="vm.jqGridHierSettings"></jqx-tree-grid>

而“坏”的 Json 数据树设置绑定了 vm.jqGridHierSettings(太大而无法内联发布):

http://www.bobmazzo.com/grid/TreeGrid_Data_Bad.txt

这是带有员工测试数据的“好”网格:

HTML:

<jqx-tree-grid jqx-instance="jqGridEmpObj" jqx-settings="vm.jqGridEmpSettings"></jqx-grid>  

vm.jqGridEmpSettings Json 数据:

http://www.bobmazzo.com/grid/TreeGrid_Data_Good.txt

在我的 Angular 控制器代码中,带有 Json 数据绑定的 javascript 的 sn-p :

我需要帮助来弄清楚为什么“坏”网格不起作用!以及为什么它只呈现一行,应该在哪里显示数据的层次结构。

谢谢。

鲍勃

【问题讨论】:

    标签: jqwidget jqxtreegrid


    【解决方案1】:

    我找到了解决方案。您必须将“孩子”定义为“源”对象中的数组类型;也就是说,在将该对象传递到 dataAdapter 之前。请参阅下面的 dataFields 属性:

       var source = {
                dataType: "json",
                dataFields: [
                    {
                        "name": "id",
                        "type": "number"
                    },
                    {
                        "name": "field0",
                        "type": "string"
                    },
                    {
                        "name": "field1",
                        "type": "number"
                    },
                    {
                        "name": "field2",
                        "type": "number"
                    },
                     {
                         name: 'children',      // MUST DEFINE CHILDREN AS ARRAY TYPE
                         type: 'array'
                     },
                ],
                hierarchy: {
                    root: 'children'
                },
                id: 'id',
                localData: myData
            };
    
       var dataAdapter = new $.jqx.dataAdapter(source);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-19
      • 1970-01-01
      • 2016-07-12
      • 1970-01-01
      • 1970-01-01
      • 2012-06-30
      相关资源
      最近更新 更多