【发布时间】:2017-03-30 15:43:20
【问题描述】:
是否可以在没有DataSource的情况下设置Kendo ListView的DataSource然后调用read()方法?
我有一个主数据源,我在 ListView 和所有子 ListViews 上使用它,但我只是根据几个条件为每个 ListView 过滤它。我这样做的方式是,一旦所有数据都绑定到主 ListView,然后我创建所有子 ListView,并为相同的数据源分配过滤。
我在这里遇到的问题是,一旦我将过滤后的 DataSource 分配给新的 ListView,它似乎又在调用 read 方法。
baSurveyGroupTemplateDataSource: new kendo.data.DataSource({
transport: {
read: {
async: false,
url: "/Url/to/data"
dataType: "json",
type: "GET",
data: {
id: $("#TemplateId").val()
},
}
}
}),
groupDataBound: function (e) {
$(".childBaSuveyGroupTemplate").each(function () {
viewModel.seedGroup(this);
});
},
seedGroup: function (parentGroup) {
var childrenGroupList = $(parentGroup);
var parentGroupId = childrenGroupList.data("id");
var childrenGroupDataSource = new kendo.data.DataSource(viewModel.baSurveyGroupTemplateDataSource);
childrenGroupDataSource.query({
filter: ({ field: "BaSurveyGroupTemplateParentId", operator: "eq", value: parentGroupId })
});
childrenGroupList.kendoListView({
template: kendo.template($("#baSurveyGroupTemplateDisplayTemplate").html()),
dataSource: childrenGroupDataSource
});
}
如果我需要澄清任何事情,请告诉我。很难尝试将我正在做的事情和我遇到的问题用语言表达出来。
【问题讨论】:
标签: javascript jquery listview kendo-ui