剑道网格中的子项目

时间:2013-02-27 14:13:09

标签: javascript jquery kendo-ui parent-child kendo-grid

如何在一列中绑定我的子数据? 我想在同一列和同一行写“技术,经济,生活”。但我认为我需要循环“类别”。我怎么能这样做,任何想法?

我的数据:

{
    "ParentId": "00000000-0000-0000-0000-000000000000",
    "Title": null,
    "UserGroupModel": null,
    "EntityAccessData": [
        {
            "EntityTitle": "User",
            "Access": {
                "Id": "59d0c6f7-8f93-497a-854d-bdd4a42ade94",
                "Title": "Can Delete"
            },
            "Category": [
                {
                    "Id": "00000000-0000-0000-0000-000000000000",
                    "Title": "Technology"
                },
                {
                    "Id": "00000000-0000-0000-0000-000000000000",
                    "Title": "Economy"
                },
                {
                    "Id": "00000000-0000-0000-0000-000000000000",
                    "Title": "Life"
                }
            ],
            "HasAccess": true
        },
        {
            "EntityTitle": "UserGroup",
            "Access": {
                "Id": "7c65be44-11b0-4cf4-9104-0ad999e7e280",
                "Title": "Can Edit"
            },
            "Category": [
                {
                    "Id": "00000000-0000-0000-0000-000000000000",
                    "Title": "Technology"
                },
                {
                    "Id": "00000000-0000-0000-0000-000000000000",
                    "Title": "Economy"
                },
                {
                    "Id": "00000000-0000-0000-0000-000000000000",
                    "Title": "Life"
                }
            ],
            "HasAccess": true
        }
    ]
}

我的剧本:

 $("#grid").kendoGrid({
        dataSource: {
            type: "json",
            transport: {
                read: "/getData" },

            schema: {
                data: "EntityAccessData"

            },

                group: [{
                field: "EntityTitle"
            }],

        },
        columns: [
        {
            field: "Access.Id",
            title: "ID"
        },
        {
            field: "Access.Title",
            title: "Access title"
        },
        {
            field: "HasAccess",
            title: "has access"
        },
        {
            field: "Category.Title", // ***wrong***
            title: "Category"
        },
        ]

    });

1 个答案:

答案 0 :(得分:1)

schema定义如下:

schema: {
    data : "EntityAccessData",
    model: {
        CategoryTitle: function () {
            var category = [];
            $.each(this.Category, function(idx, elem) {
                category.push(elem.Title);
            });
            return category.join(",");
        }
    }

},

我添加了另一个字段CategoryTitle,该字段是加入Title数组Category的结果,然后将column定义为:

{
    field: "CategoryTitle()",
    title: "Category"
}