0

$selectodataを持つ JS があり、を使用してフィルタリング$filterと呼ばれるフィールドを取得します"ct_portfolioid"ct_portfoliocode

URL がポートフォリオ ID を返していないようです。URL は未定義です。

var serverUrl = Xrm.Page.context.getServerUrl();
        var ODATA_ENDPOINT = "/XRMServices/2011/OrganizationData.svc";
        var filter="ct_apxportfoliocodeSet?$select=ct_portfolioid&$filter=ct_portfoliocode eq '" + portfolioCode +"'";

        $.ajax({
            async: true,
            type: "GET",
            url: serverUrl + ODATA_ENDPOINT + "/"+filter,
            contentType: "application/json; charset=utf-8",
            dataType: 'json',
            beforeSend: function (XMLHttpRequest) {
                XMLHttpRequest.setRequestHeader("Accept", "application/json");
            },
4

1 に答える 1

0

プロトコルデータをハンドコーディングする代わりに、JavaScript言語クエリとネイティブのcrud操作をサポートするODataを介した高レベルのセマンティックAPIを提供するJayDataを試すことができます。

JayDataを$filter, $sort, $select使用すると、oDataなどの式を手動でアセンブルする必要がなく、ネイティブのJavaScript構文を使用できます。

上記のクエリは、JayDataを使用するとはるかに簡単に実装できます。

$data.YourContext.filter(function(a) {return a.ct_portfolicode==this.portfolioCode;}, {portfolioCode: YourValue})
.map(function(p) {return p.ct_portfolioid;})
.toArray(...);

最新のJayDataバージョンはCodePlexからダウンロードできます

于 2012-05-02T13:57:53.277 に答える