3

フィドルの例から参照して、インフラジスティックスの ignite ui グリッドでフィルター メソッドを呼び出そうとしています。フィドルでは正常に動作するようですが、私の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"}]));

                    });
                }
            };

        });
    });

グリッドは正常にレンダリングされますが、フィルター メソッドの呼び出しで次のエラーが発生します。メソッド「filter」を呼び出そうとしました

4

2 に答える 2

5

この問題が発生した場合は、グリッド フィルタリングのインフラジスティックス API リファレンスが正確ではないことに注意してください。サンプルでは、​​次のように div でグリッドを初期化します -

<div id="gridFiltering"></div>

ただし、グリッドをテーブルに接続しない限り、何らかの理由で jquery フィルタリング ウィジェットが初期化されないことが判明しました。

<table id="gridFiltering"></table>

igniteui グリッドの他のサンプルではこれを行っているようですが、グリッド フィルタリングの API リファレンスではそうではありません。

于 2014-08-25T19:11:52.543 に答える