克隆Kendo DataSource删除了Crud



我试图将kendo 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的方法。

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

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

最新更新