1

Treeview、階層データソース、およびデータソースに関する既存のドキュメントを読んでいますが、Treeviewで使用できるリモートデータソースの種類については少し迷っています。

jsonとは別に、xmlもサポートされていますよね?それをバインドして、Treeviewでxmlファイルを表示することは可能ですか?

私は次のようなことを試みてきました:

        <script>
            var ds = new kendo.data.DataSource({
                    transport: {
                        read: {
                            url:"http://localhost:8080/OnTheSpotRestfullAPI/testTree.xml"
                        }
                    },
                    schema: {
                        type: "xml",
                        data: "/tree/vehicles",
                        model: {
                            fields: {
                                car: "car/text()",
                                bike: "bike/text()"
                            }
                        }
                    }
                });

            $("#treeview").kendoTreeView({
                dataSource: ds
            });
        </script>

testTree.xmlは次のとおりです。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>    
<tree>  
    <vehicles>
        <car>FM-1100</car>
        <car>FM-4200</car>
        <bike>FM-3100</bike>
    </vehicles>
    <personnel>
        <client>GH-3000</client>
        <vip>GH-3100</vip>
    </personnel>
</tree>

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

(車両)

- (車)

---- FM-1100

---- FM-4200

-(バイク)

---- FM-3100

(人事)

-(クライアント)

----GH-3000

-(VIP)

----GH-3100

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

でも、木が全然見えないようです。ちょっとここで迷子になりました。誰かが私を正しい方向に向けてくれませんか?

前もって感謝します

4

1 に答える 1

3

念のため: HTML が読み込まれた後にスクリプト コードを実行する必要があるため、

<script>
    $(document).ready(function () {
        // The JavaScript code goes here
    });
</script>

ではなく、データソースdsを定義する必要があります。XML の例を読んでいると、階層 (ツリー) がどのように構成されているか、ツリーの内容がどうあるべきかわかりません。HierarchicalDataSourceDataSource

次のようなものを試すことができます。

<script>
    $(document).ready(function () {
        var ds = new kendo.data.HierarchicalDataSource({
            transport:{
                read:{
                    url:"testTree.xml"
                }
            },
            schema   :{
                type :"xml",
                data :"/tree/vehicles/car",
                model:{
                    fields:{
                        text:"text()"
                    }
                }
            }
        });


        $("#treeview").kendoTreeView({
            dataSource   :ds
        });
    });
</script>

XML は次のようになります。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<tree>
    <vehicles>
        <car>FM-1100</car>
        <car>FM-4200</car>
        <bike>FM-3100</bike>
    </vehicles>
    <personnel>
        <client>GH-3000</client>
        <vip>GH-3100</vip>
    </personnel>
</tree>

注:何をするかわかりませんbike

于 2012-11-06T10:02:34.723 に答える