0

データソースを使用してパネルバーを動的にロードしようとしています。実際、ドキュメントではajaxのみを使用して情報を入手したので、次のように実装しました。

    $.ajax({                        
                type: "POST",
                url: '/Home/GetPanelInfo',
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (json) {

                    $("#panelBar").kendoPanelBar({
                        expandMode: "single",
                        id: "usr_id",
                        dataSource: [{ text: json[0].groups_name, expand: true, contentUrl: "/Home/Index" },
                                     { text: json[1].groups_name, expand: true, contentUrl: "/Home/Index" },
                                     { text: json[3].groups_name, expand: true, contentUrl: "/Home/Index"}]
                    });
                }
});

しかし、これではすべての値を表示することはできません。これは、すべての値を表示するためにパネルバーをロードする正しい方法ではないと思います。パネルバーにすべての値を表示する方法

4

1 に答える 1

0

結果の配列を反復処理する必要があります。jQuery Map関数を使用できます。例:

$.ajax({                        
            type: "POST",
            url: '/Home/GetPanelInfo',
            contentType: "application/json; charset=utf-8",
            dataType: "json",
            success: function (json) {
                var dataSource = $.map(json, function(obj){
                    return {
                        text: obj.groups_name,
                        expand: true,
                        contentUrl: "/Home/Index" 
                    };
                });

                $("#panelBar").kendoPanelBar({
                    expandMode: "single",
                    id: "usr_id",
                    dataSource: dataSource 
                });
            }
});
于 2012-12-05T10:35:18.123 に答える