0

当我调用 Kendogrid 的 render() 时,我无法弄清楚为什么我的 Kendogrid Transport 的读取没有调用 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 回答