私は、現在表示しているアカウントの最終顧客レコードのみを表示するために、このサブグリッド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種類は疑問が古いですが、私が見つけることを試みていた