3

そこで、剣道UIツリービューアイテムを使用してツリーを作成し、それをJSONファイルであるリモートの階層データソースにバインドしたいと思います。

結果のツリーは次のようになります。

(車両)

- (車)

---- FM-1100

---- FM-4200

-(バイク)

---- FM-3100

(人事)

-(クライアント)

----GH-3000

-(VIP)

----GH-3100

PS。()内の名前は、「子」を含むフォルダーのようなものであると想定されています。

剣道UIのWebサイトで上記のすべてに関するドキュメントを確認しましたが、ツリー内のアイテムを展開するたびにツリービューがより深いステージをロードするために使用するコールバック関数全体と少し混乱しています。

たとえば、剣道のドキュメントの例を見てみましょう。

var homogeneous = new kendo.data.HierarchicalDataSource({
transport: {
    read: {
        url: "http://demos.kendoui.com/service/Employees",
        dataType: "json"
    }
},
schema: {
    model: {
        id: "EmployeeId",
        hasChildren: "HasEmployees"
    }
}
});

$("#treeview").kendoTreeView({dataSource: homogeneous});

JSONサンプルデータ:

    {
"employees": [
{"EmployeeId":2,"FullName":"Andrew Fuller","HasEmployees":true,"ReportsTo":null},
{"EmployeeId":3,"FullName":"Carl Jenkins","HasEmployees":true,"ReportsTo":null},
{"EmployeeId":4,"FullName":"Aston Miller","HasEmployees":false,"ReportsTo":2},
{"EmployeeId":5,"FullName":"Damon Sherbands","HasEmployees":false,"ReportsTo":2},
{"EmployeeId":6,"FullName":"Dariel Hanks","HasEmployees":true,"ReportsTo":null},
{"EmployeeId":7,"FullName":"Jason Jackson","HasEmployees":false,"ReportsTo":3},
{"EmployeeId":8,"FullName":"Reylen Scribbs","HasEmployees":false,"ReportsTo":6}
]
}

そのため、「http://demos.kendoui.c​​om/service/Employees」にRESTサーバーをセットアップする必要があります。このサーバーは、「EmployeeId」を提供するツリーからGETを受け取り、ファイル内を検索して、 「ReportTo」「EmployeeId」を受信しました...?? そして、ツリーが最初のノードを表示したい最初の時間はどうなりますか?

何かのようなもの:

@Path("/Employees")
@GET
@Produces(MediaType.TEXT_HTML)
public String returnEmployees(@QueryParam("EmployeeId") int accID) {
    //search the employees.json
    return "<head></head><body><pre>" + searchResultsString + "</pre></body>";
}

JSONファイルを効率的に検索し、すべての結果を文字列で返すにはどうすればよいですか?または、これらすべてが間違っている場合、誰かが私がすべてのGETとコールバックのものを理解するのを手伝ってくれるでしょうか?多分それは私が聞いたjsonpと関係がありますか?ここで少し失われました..

前もって感謝します

4

3 に答える 3

3

次の構造(XML形式で提案するものと同様)でJSONファイルを作成できますか?

[
    {
        "id"   :100,
        "text" :"tree",
        "items":[
            {
                "id"   :1,
                "text" :"Vehicle",
                "items":[
                    {
                        "id"   :2,
                        "text" :"Cars",
                        "items":[
                            {
                                "id"  :3,
                                "text":"FM-1100"
                            },
                            {
                                "id"  :4,
                                "text":"FM-4200"
                            }
                        ]
                    },
                    {
                        "id"   :5,
                        "text" :"Bikes",
                        "items":[
                            {
                                "id"  :6,
                                "text":"FM-3100"
                            }
                        ]
                    }
                ]
            },
            {
                "id"   :7,
                "text" :"Personnel",
                "items":[
                    {
                        "id"   :8,
                        "text" :"Personnel",
                        "items":[
                            {
                                "id"   :9,
                                "text" :"Clients",
                                "items":[
                                    {
                                        "id"  :10,
                                        "text":"GH-3000"
                                    }
                                ]
                            },
                            {
                                "id"   :11,
                                "text" :"VIPs",
                                "items":[
                                    {
                                        "id"  :12,
                                        "text":"GH-3100"
                                    }
                                ]
                            }
                        ]
                    }
                ]
            }
        ]
    }
]

各要素には、ツリーに表示されるidatextと、ツリーの各サブ要素を含む配列itemsがあります。

その場合、コードは次のようになります。

$.getJSON("/testTree.json", function (data) {
    $("#treeview").kendoTreeView({
        dataSource: data
    });
})

/testTree.jsonJSONファイルのURLはどこにありますか。

于 2012-11-08T13:21:20.757 に答える
1
于 2014-08-11T12:06:07.083 に答える