【问题标题】:Set kendo DataSource without calling read()在不调用 read() 的情况下设置 kendo DataSource
【发布时间】: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


    【解决方案1】:

    尝试将此添加到您的 ListView 配置中:

    autoBind: false
    

    来自http://docs.telerik.com/kendo-ui/api/javascript/ui/listview#configuration-autoBind的剑道文档

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

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

    一切就绪后,手动触发数据源读取:

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

    【讨论】:

      猜你喜欢
      • 2013-03-16
      • 2011-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-09
      • 1970-01-01
      • 2019-04-13
      • 1970-01-01
      相关资源
      最近更新 更多