我试图将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);