Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Angularjs ui.grid显示嵌套行_Javascript_Angularjs_Angular Ui Grid - Fatal编程技术网

Javascript Angularjs ui.grid显示嵌套行

Javascript Angularjs ui.grid显示嵌套行,javascript,angularjs,angular-ui-grid,Javascript,Angularjs,Angular Ui Grid,我一直在尝试在列中获取嵌套的json数据。json结构是: [{ "ratings": [{ "rating": "Detractor", "employees": [{ "empName": "Pavan", "quarters": [{ "quarterName": "q1 2015", "we

我一直在尝试在列中获取嵌套的json数据。json结构是:

[{
    "ratings": [{
            "rating": "Detractor",
            "employees": [{
                "empName": "Pavan",
                "quarters": [{
                    "quarterName": "q1 2015",
                    "weeks": [{
                            "weekName": "week1",
                            "month": "January",
                            "points": [{
                                "0": "point1"
                            }, {
                                "1": "point2"
                            }]
                        }
                        , {
                            "weekName": "week2",
                            "month": "January",
                            "points": [{
                                "0": "point1"
                            }, {
                                "1": "point2"
                            }]
                        }, {
                            "weekName": "week3",
                            "month": "January",
                            "points": [{
                                "0": "point1"
                            }, {
                                "1": "point2"
                            }]
                        }
                    ]
                }, {
                    "quarterName": "q2 2015",
                    "weeks": [{
                            "weekName": "week4",
                            "month": "January",
                            "points": [{
                                "0": "point1"
                            }, {
                                "1": "point2"
                            }]
                        }
                        , {
                            "weekName": "week5",
                            "month": "January",
                            "points": [{
                                "0": "point1"
                            }, {
                                "1": "point2"
                            }]
                        }, {
                            "weekName": "week6",
                            "month": "January",
                            "points": [{
                                "0": "point1"
                            }, {
                                "1": "point2"
                            }]
                        }
                    ]
                }]
            }]
        }
    ]
}]
输出应在一列中有评级,在下一列中有相应的员工,在第三列中有分数。 我找到了一个解决方案,但它只涉及一个级别,我无法将其扩展到多个级别

我需要显示每周数据


一般来说,访问ui网格中的嵌套对象没有问题

在你的例子中,问题似乎更多地与你有一个动态结构这一事实有关

在ui网格中,可以使用包含该值的完整路径的字符串为列指定值,例如:

  • 假设您将评级子数组分配到
    gridOptions.data
    week1
    week2
    week4
    字段的值分别为:
    
    • “员工[0]。季度[0]。周[0]。积分[0]”
    • '员工[0]。季度[0]。周[
      1
      ]分[0]'
    • '员工[0]。季度[
      1
      ]周[0]。积分[0]'
现在,再加上周数和季度数不是固定的,您将发现没有直接的方法可以通过编程将周数与周数和季度数组所需的索引关联起来

我认为处理这个问题的最佳方法是迭代您接收的原始数据,并构建一个更适合网格的新JSON

在伪代码中,您可以执行以下操作:

initialize results array
iterate through ratings
  create new empty object (current_object)
  add current_object to results array
  iterate through employees
    iterate through quarters
      iterate through weeks
        add value for i-th week as week_i to current_object

你所问的并不清楚,因为你的实体之间有一些1对多的关系。你能用一个输出的例子让事情更清楚吗?@imbalind-为预期的输出添加了一个图像。你总是有两个季度,每个季度正好3周,还是季度和周之间的关系是动态的?它是动态的。我可以有n个季度,每个季度最多可以有13周。你能提供一个季度吗。这真的很有用。谢谢