jQuery 无法在调用 ignite ui 过滤网格方法的初始化错误之前调用方法

asu*_*man 3 infragistics angularjs ignite-ui

我正在尝试从他们的小提琴示例中引用 infragistics ignite ui grid 上的过滤器方法。似乎在他们的小提琴上表现正常,但在我的 angularjs 应用程序上表现不佳。你可以在这里找到小提琴 - http://jsfiddle.net/40xgtcry/

在我的 angular js 应用程序中,我正在使用一些虚拟数据在 angular 指令中初始化网格,然后我通过调用 igGridFiltering 方法进行跟踪。

define(['directives/directives', 'northwind'],
    function(directives) {
        directives.directive('gridView', function () {
            return {
                restrict: 'EA',
                scope: true,
                link: function (scope) {
                    scope.$on("InventoryDataReady", function  (){
                           // $( '#' + scope.gridSettings.targetId ).igGrid(scope.gridSettings);
                        $('#' + scope.gridSettings.targetId).igGrid({
                            autoGenerateColumns: false,
                            columns: [
                                { headerText: "Employee ID", key: "EmployeeID", dataType: "number" },
                                { headerText: "First Name", key: "FirstName", dataType: "string" },
                                { headerText: "Last Name", key: "LastName", dataType: "string" },
                                { headerText: "Birth Date", key: "BirthDate", dataType: "date" },
                                { headerText: "City", key: "City", dataType: "string" },
                                { headerText: "Postal Code", key: "PostalCode", dataType: "string" }
                            ],
                            dataSource: northwind,
                            responseDataKey: "results",
                            features: [
                                {
                                    name: "Responsive",
                                    enableVerticalRendering: false,
                                    columnSettings: [
                                        {
                                            columnKey: "EmployeeID",
                                            classes: "ui-hidden-phone"
                                        },
                                        {
                                            columnKey: "PostalCode",
                                            classes: "ui-hidden-phone"
                                        }
                                    ]
                                },
                                {
                                    name: "Filtering",
                                    type: "local",
                                    mode: "advanced"
                                }
                            ]
                        });
                        $('#' + scope.gridSettings.targetId).igGridFiltering("filter", ([{fieldName: "FirstName", expr: "Nancy", cond: "equals", logic: "OR"}]));

                    });
                }
            };

        });
    });
Run Code Online (Sandbox Code Playgroud)

网格呈现得很好,但过滤器方法调用会产生以下错误 - '错误:在初始化之前无法调用 igGridFiltering 上的方法;试图调用方法“过滤器”

asu*_*man 5

遇到这个问题的朋友请注意,网格过滤的infragistics api参考是不准确的。在他们的示例中,他们像这样在 div 上初始化他们的网格 -

<div id="gridFiltering"></div>
Run Code Online (Sandbox Code Playgroud)

但是,事实证明,由于某种原因,除非您将网格连接到表,否则 jquery 过滤小部件不会初始化。

<table id="gridFiltering"></table>
Run Code Online (Sandbox Code Playgroud)

他们似乎对 igniteui 网格的其他示例执行此操作,但不在网格过滤的 api 参考中执行此操作。