Javascript 在不调用read()的情况下设置剑道数据源

Javascript 在不调用read()的情况下设置剑道数据源,javascript,jquery,listview,kendo-ui,Javascript,Jquery,Listview,Kendo Ui,是否可以在没有数据源的情况下设置剑道ListView的数据源,然后调用read()方法 我在一个ListView和所有子ListView上使用了一个主数据源,但我只是根据一些条件对每个ListView进行过滤。我这样做的方式是,一旦所有数据都绑定到主ListView,然后我创建所有子ListView,并通过过滤分配相同的数据源 这里的问题是,一旦我将过滤后的数据源分配给新的ListView,它似乎又在调用read方法 baSurveyGroupTemplateDataSource: new ke

是否可以在没有数据源的情况下设置剑道ListView的数据源,然后调用
read()
方法

我在一个ListView和所有子ListView上使用了一个主数据源,但我只是根据一些条件对每个ListView进行过滤。我这样做的方式是,一旦所有数据都绑定到主ListView,然后我创建所有子ListView,并通过过滤分配相同的数据源

这里的问题是,一旦我将过滤后的数据源分配给新的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
    });
}

如果我需要澄清什么,请告诉我。很难将我正在做的事情和遇到的问题用语言表达出来。

尝试将其添加到ListView配置中:

autoBind: false
来自剑道文档

如果设置为false,则小部件在运行期间不会绑定到数据源 初始化。在这种情况下,数据绑定将在更改时发生 数据源的事件被激发。默认情况下,小部件将绑定到 配置中指定的数据源

将自动绑定设置为false在多个小部件绑定到时非常有用 相同的数据源。禁用自动绑定可确保 共享数据源不会向远程服务器发出多个请求 服务

然后在设置完所有内容后手动触发数据源读取:

childrenGroupDataSource.read();  // "read()" will fire the "change" event of the dataSource and the widget will be bound