克隆 kendo DataSource 删除 CRUD?
Cloning kendo DataSource removes CRUD?
我正在尝试将 Kendo DataSource 克隆到新的 DataSource 中,但它似乎丢失了在旧 DataSource 上设置的任何选项。虽然我可能 cloning/copying 的方式不对,但欢迎提出任何建议。
这是我目前的克隆方式:
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
。
编辑:
我知道我可以通过输入
来设置它 "manually"
questionItemGridDataSource.options.transport = viewModel.baSurveyQuestionItemTemplateDataSource.options.transport;
之后,但这似乎没有必要,而且肯定有一种方法可以克隆数据源而无需重置 CRUD。
您似乎传递的是 DataSource 实例而不是设置对象。尝试
var questionItemGridDataSource = new kendo.data.DataSource(viewModel.baSurveyQuestionItemTemplateDataSource.options);
我正在尝试将 Kendo DataSource 克隆到新的 DataSource 中,但它似乎丢失了在旧 DataSource 上设置的任何选项。虽然我可能 cloning/copying 的方式不对,但欢迎提出任何建议。
这是我目前的克隆方式:
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
。
编辑:
我知道我可以通过输入
来设置它 "manually"questionItemGridDataSource.options.transport = viewModel.baSurveyQuestionItemTemplateDataSource.options.transport;
之后,但这似乎没有必要,而且肯定有一种方法可以克隆数据源而无需重置 CRUD。
您似乎传递的是 DataSource 实例而不是设置对象。尝试
var questionItemGridDataSource = new kendo.data.DataSource(viewModel.baSurveyQuestionItemTemplateDataSource.options);