2016-10-20 10 views
0

私は、現在表示しているアカウントの最終顧客レコードのみを表示するために、このサブグリッドShipmentReportsInformationをエンド顧客フィールドでフィルタリングしようとしています。今はすべてを表示しています(単にテキストなので、フォーム内の関連するレコードを表示できません)。CRM 2016 - プログラムでサブグリッドをフィルタリングする

私はMicrosoft Dynamics 2016 on-premesisを使用しています。

だから私は、Webリソース(onloadイベント)を作り、これは私がこれまでにまとめたものです:

function Filter(){ 

    var str = Xrm.Page.getAttribute('name').getValue(); //this contains the correct text 
    //alert(str); 

    var AllRows = Xrm.Page.getControl("ShipmentReportsInformation").getGrid().getRows(); //all rows inserted in AllRows 
    var FilteredRows = AllRows.forEach(function (AllRows, i) { 
    if(Xrm.Page.getAttribute('new_endcustomer').getValue() == str){ 
    FilteredRows.push(AllRows.getData().getEntity().getEntityReference()); 
    } 
//Now I think I should only have the lines added to the FilteredRows variable that match the if condition 
    }); 

    Xrm.Page.getControl("ShipmentReportsInformation").setData(FilteredRows); //putting the data from the var in the subgrid 

} 

私はそこにとんでもない何かをする場合、私は、コーディングでかなり新しいよ、そうしてください、ええと。 悲しいことに、それは動作していないし、私が得たログ/エラーレポートはまったく役に立たない。エラーとフォームは、説明する: http://prntscr.com/cwowlf

私はコードの問題を見つけるのを助けることができますか?

サブグリッドがロードされる前にコードをロードしていると思うこともありますが、正しく遅延させる方法はわかりません。私は.getreadystateを試しました!=完了しましたが、それには決して完璧ではありません。

はちょうど私がこれまでに見つけたものを助けるために:私はから私の情報のほとんどを得たのはここです: - https://msdn.microsoft.com/en-us/library/dn932126.aspx#BKMK_GridRowData

種類は疑問が古いですが、私が見つけることを試みていた

答えて

0

についてサブグリッドをフィルタリングしてこのポストを見つけた方法。 SDKによると、これはsetDataメソッドのために言及されているものです。

Webリソースは、データが カスタムデータを渡すという特別なクエリ文字列パラメータを持っています。 getDataとのsetDataメソッドは、唯一のSilverlight Webリソースのために働く

乾杯

フォームに追加
関連する問題