克隆kendo DataSource删除CRUD?

时间:2017-03-10 16:47:33

标签: javascript kendo-ui kendo-datasource

我正在尝试将Kendo DataSource克隆到新的DataSource中,但它似乎正在丢失旧版本上设置的任何选项。我可能不会以正确的方式克隆/复制它,所以任何建议都值得赞赏。

以下是我目前的克隆方式:

var questionItemGridDataSource = new kendo.data.DataSource(viewModel.baSurveyQuestionItemTemplateDataSource);
questionItemGridDataSource.query({
    filter: {
        logic: "or",
        filters: [
            {
                field: "BaSurveyQuestionTemplateId",
                operator: "eq",
                value: questionId
            },
            {
                field: "Name",
                operator: "eq",
                value: ""
            }
        ]
    }
});

它复制它并设置过滤器就好了,但如果我这样做

alert(questionItemGridDataSource.options.transport.read.url)

它只是提醒undefined

修改

我知道我可以通过添加

来“手动”设置它
questionItemGridDataSource.options.transport = viewModel.baSurveyQuestionItemTemplateDataSource.options.transport;

之后,但这似乎是不必要的,肯定有办法克隆数据源而不必重置CRUD。

1 个答案:

答案 0 :(得分:1)

看起来您正在传递DataSource实例而不是设置对象。尝试

var questionItemGridDataSource = new kendo.data.DataSource(viewModel.baSurveyQuestionItemTemplateDataSource.options);