Kendo UI:绑定练习

时间:2013-04-24 19:21:51

标签: kendo-ui

我不确定我的方案的最佳方式是什么,所以我先解释一下。

我有两个数据源。人员和团体,每个人物品都有一个指示器,它属于哪个组。这些人绑定到剑道网格,并将组绑定到< ul>。我的问题是,我想在组外显示一个count-number,表示该组中有多少人 - 这些信息是根据人员数据源计算的,而不是组本身的一部分。

对于这个一般性问题感到抱歉 - 但我真的很挣扎......

更新:这就是我现在所拥有的:

var contactGroupsDataSource = new kendo.data.DataSource({
  transport: {
    read: {
      url: "api/contactgroups"
    }
  }
});

$('#contactGroupsList').kendoListView({
    dataSource: contactGroupsDataSource,
    template: "<li class='contactGroupListItem' data-number='${Number}'>${Number} ${Name} (<span data-bind="text: cgcount[1]"></span>) </li>"
});

viewModel = kendo.observable({
        contactsDataSource: new kendo.data.DataSource({
            transport: {
                read: {
                    url: "api/contacts"
                }
            },
            schema: {
                model: {
                    id: "Id",
                    fields: {
                        id: { type: "string" },
                        FirstName: { type: "string" },
                        LastName: { type: "string" },
                        ContactGroupNumber: { type: "integer" }
                    }
                }
            },
            change: function (e) {
                var data = this.data();

                for (var i = 0; i < data.length; i++) {
                    var cg = data[i]["ContactGroupNumber"];
                    viewModel.cgcount.splice([cg - 1], 1, viewModel.cgcount[cg - 1] + 1);
                }

                for (var i = 0; i < 7; i++) {
                    console.log(i + 1 + ': ' + viewModel.cgcount[i]);
                }
            }
        }),
        cgcount: new kendo.data.ObservableArray([0, 0, 0, 0, 0, 0, 0])
    });

    kendo.bind($("#contactsGroupContainer"), viewModel);

    contactsListView = $('#contactsList').kendoGrid({
        dataSource: viewModel.contactsDataSource,
        sortable: true,
        rowTemplate: kendo.template($("#rowTemplate").html())
    });

丹尼尔

0 个答案:

没有答案