0

odata サービスを指す kendoui データソースにバインドされたモバイル リストビューがあります。"Claim" オブジェクトの "Patient" プロパティを展開するためのデータソース構成に $expand ヒントがありますが、odata クエリの URL を見ると、kendoui データソースはクエリ文字列で $expand コードを生成していません。kendoui データソースを取得して、クエリ文字列で正しい $expand 命令を生成するにはどうすればよいですか?

OData query string genereated: http://localhost:1839/OData.svc/Claim?$callback=jQuery20207924230222124606_1374374358450&%24inlinecount=allpages&%24format=json&%24top=10

<script>
    $(function () {
        var app = new kendo.mobile.Application(document.body, {
            transition: 'slide'
        });

        OData.defaultHttpClient.enableJsonpCallback = true;


        var data = new kendo.data.DataSource({
            type: "odata", // specifies data protocol
            pageSize: 10,  // limits result set
            transport: {
                read: "http://localhost:1839/OData.svc/Claim",
                dataType: "json",
                data: {
                    $expand: "Patient"
                }
            },
            schema: {
                model: {id: "Id"},
                data: function (data) {
                    return data.d.results;
                },
                total: function (data) {
                    return data.d.__count;

                }
            },
            pageSize: 10,
            serverPaging: true,
            serverFiltering: true,
            serverSorting: true
        });

        $("#lst").kendoMobileListView(
        {
            template: "<strong>${data.ClaimNumber}</strong><br/>",
            filterable: {
                field: "ClaimNumber",
                operator: "contains"
            },
            dataSource: data
        });
    });
</script>
4

3 に答える 3

3

data と $expand は、読み取りオブジェクト内に属します。あなたはあなたの答えに近づいていました。

var dataSource = new kendo.data.HierarchicalDataSource({
    type: "odata",
    transport: {
        read: {
            // See http://www.odata.org/documentation/odata-v2-documentation/uri-conventions/ for OData URI conventions
            // OData: ~/api/Users?$inlinecount=allpages&top=2
            // OData: ~/api/Users?$inlinecount=allpages - includes odata.count
            // OData: inline filtering: ~/api/Users?$filter=USERNAME eq 'asgro'
            // to include hierarchical data, use the OData /api/UserGroups?$expand=USER
            // To reduce the payload sice, the query ~/api/UserGroups will only include the USERGROUP entities, and not any navigation property content


            url: "/api/UserGroups",
            data: {
                $expand: "USERS"
            },
            dataType: "json"                                // the default result type is JSONP, but WebAPI does not support JSONP
        },
于 2013-09-24T04:54:31.457 に答える