0

Kendogrid の render() を呼び出したときに、Kendogrid Transport の read が ajax 呼び出しを呼び出さない理由がわかりません。Transport の read() を除くすべての関数が呼び出されます。私のコードの間違いを指摘するには、第三の目が必要だと思います。さらに情報が必要な場合はお知らせください。これに一日を費やして、できませんでした。

ここに私のトランスポートとGridViewがあります

var Transport = KendoGridView.Transport.extend({

            read: function(options) {
                $.ajax({
                    url: this._grid.url+ '?' + $.param(_.extend({},
                        this._parameterMap(options.data)
                    )),
                    type: 'POST',
                    contentType: 'application/json',
                    data: JSON.stringify(myVariable),
                    success: function(response) {
                        options.success(response);
                    }
                });
            }
    });

    var MyGridView = KendoGridView.extend({
        _url : "abc/def/ghi",
        _model: MyModel, //My Backbone model
        _currentPage: 1,
        _transportCls: Transport

        initialize: function(options) {
            KendoGridView.prototype.initialize.apply(this, arguments);
        },

        render: function{
            KendoGridView.prototype.render.call(this);
        },

        _dataSourceConfig: function() {
            var config = KendoGridView.prototype._dataSourceConfig.call(this);
            return _.extend(config, {page: this._currentPage});
        },
    });

    return MyGridView;

アプリケーションの他のグリッドについても同様の方法で行いました。他のすべてのものは、require.js を使用して定義されます。何か不足していますか?

4

1 に答える 1

0

理解した。レンダー関数内の親ビューには、div 内にグリッドをレンダリングする行があります。

render: function() {
    this.$el.html(template);
    this._myGridView.setElement(this.$("#myVariantDB- select-configured-grid")).render();

    return this;
}

ID "#myVariantDB-select-configured-grid"の div がないことがわかりました。divが使用できない場合、エラーが予想されました。

于 2015-12-04T20:30:00.723 に答える