我正在尝试将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。
答案 0 :(得分:1)
看起来您正在传递DataSource实例而不是设置对象。尝试
var questionItemGridDataSource = new kendo.data.DataSource(viewModel.baSurveyQuestionItemTemplateDataSource.options);