我开发了一个使用Angular2、IgniteUI/不碎片化PivotGrid控件来加载PivotGrid的应用程序。我们正在动态地传递多维数据集信息,即度量/维度,并将json数据与PivotGrid绑定。在他们的github演示中,我们使用了由IgniteUI/不脆弱性提供的Angular2包装器组件。
以下是我的申请的简短说明:-
工作簿是具有下拉列表的父组件。下拉列表的Onchange将触发PivotGrid组件(它是Workbook组件的子组件)来加载和绑定PivotGrid。在绑定/加载PivotGrid网格之后,它应该加载PivotGrid的选择器。此选择器放置在此PivotGrid下名为slideout的子组件中。基本上,每当下拉列表被更改时,它应该分别加载适当的PivotGrid及其选择器组件。
我在这里面临的问题是数据没有正确地绑定/加载数据透视网格/选择器。结果是,每当我试图更改选择器中的度量值/维度时,PivotGrid就会崩溃,并出现以下错误消息。当我不断地在选择器控件中尝试更改/修改时,就会出现这个问题。
Uncaught TypeError: Cannot read property 'top' of undefined
at t.(anonymous function).(anonymous function)._positionOverlayDropAreas (http://localhost:3000/js/IgniteUI/infragistics.lob.js:662:19496)
at t.(anonymous function).(anonymous function)._positionOverlayDropAreas (http://code.jquery.com/ui/1.10.3/jquery-ui.min.js:5:5028)
at t.(anonymous function).(anonymous function)._onDataRendered (http://localhost:3000/js/IgniteUI/infragistics.lob.js:662:18161)
at t.(anonymous function).(anonymous function)._onDataRendered (http://code.jquery.com/ui/1.10.3/jquery-ui.min.js:5:5028)
at HTMLTableElement.dataRendered (http://localhost:3000/js/IgniteUI/infragistics.lob.js:661:12953)
at t.(anonymous function).(anonymous function)._trigger (http://code.jquery.com/ui/1.10.3/jquery-ui.min.js:5:10002)
at t.(anonymous function).(anonymous function)._renderData (http://localhost:3000/js/IgniteUI/infragistics.lob.js:138:17643)
at t.(anonymous function).(anonymous function)._renderData (http://code.jquery.com/ui/1.10.3/jquery-ui.min.js:5:5028)
at t.(anonymous function).(anonymous function).proxy (http://code.jquery.com/jquery-1.12.3.js:529:14)
at Class._invokeCallback (http://localhost:3000/js/IgniteUI/infragistics.core.js:270:30197)
请在URL中找到示例源
即使我把报告按行向下钻,它也会崩溃。你知道我在这里犯了什么错吗?有什么解决办法吗?
编辑:现在我得到了一个不同的错误,我提到的错误/异常可以在示例代码本身中再现。复制该问题的步骤:-
Uncaught TypeError: Cannot read property 'key' of undefined
at t.(anonymous function).(anonymous function)._transformGridData (http://localhost:3000/js/IgniteUI/infragistics.lob.js:661:23266)
at t.(anonymous function).(anonymous function)._transformGridData (http://code.jquery.com/ui/1.10.3/jquery-ui.min.js:5:5028)
at t.(anonymous function).(anonymous function)._configureOptions (http://localhost:3000/js/IgniteUI/infragistics.lob.js:661:12632)
at t.(anonymous function).(anonymous function)._configureOptions (http://code.jquery.com/ui/1.10.3/jquery-ui.min.js:5:5028)
at t.(anonymous function).(anonymous function)._onGridUpdated (http://localhost:3000/js/IgniteUI/infragistics.lob.js:661:26768)
at t.(anonymous function).(anonymous function)._onGridUpdated (http://code.jquery.com/ui/1.10.3/jquery-ui.min.js:5:5028)
at Class.<anonymous> (http://localhost:3000/js/IgniteUI/infragistics.lob.js:661:9410)
at Class.dispatch (http://code.jquery.com/jquery-1.12.3.js:5226:27)
at Class.elemData.handle (http://code.jquery.com/jquery-1.12.3.js:4878:28)
at Object.trigger (http://code.jquery.com/jquery-1.12.3.js:5130:12)
发布于 2017-09-28 08:23:17
在第一次创建枢轴网格时,应该首先设置widgetId属性。在声明gridId组件中的InfraPivotGrid属性时,应该这样做:
private gridId: string = "pivotGrid";
或进入该类的构造函数:
constructor(private _SessionService: SessionService, private _WidgetConfigService: WidgetConfigService) {
console.log("In constructor of InfraPivotGrid");
this.gridId = "pivotGrid";
}
https://stackoverflow.com/questions/46450862
复制相似问题