CRM 2011- IFRAME (Custom Page) UZERINDE İŞLEM YAPILDIKTAN SONRA CRM FORMUNU REFRESHLEME


Örnegin,
Sipariş formu üzerindesiniz.
Siparişe ekli olan ürünler, kendi olusturdugumuz bir custom page i gösteren  iframe üzerinde görülür durumda olsun.
Bu iframe de ürünleri edit edebiliyor olalım.
Eğer ürünleri edit ettikten sonra formu güncellemek(refresh) istiyorsak;.

Custom Page in code behind ında crm formuna  bir message veriyor olacagız.Bu mesaji crm formu yakalayıp crm formunu refresh edecegiz.

Code Behind(Custom Page)

 protectedvoid refreshGrid()
{
    string refreshCRMGrid = "<script language='javascript'>";
    refreshCRMGrid += "parent.postMessage('RefreshJumpGrid', '*')";
    refreshCRMGrid += "</script>";
    ClientScript.RegisterStartupScript(typeof(string), "RefreshGrid", refreshCRMGrid);
}

yada

Client Side
function CrmPageRefresh(){
parent.postMessage('RefreshJumpGrid', '*');
}
Code behind()
 protectedvoid refreshGrid()
{
    string refreshCRMGrid = "<script language='javascript'>";
    refreshCRMGrid += "CrmPageRefresh()";
    refreshCRMGrid += "</script>";
    ClientScript.RegisterStartupScript(typeof(string), "RefreshGrid", refreshCRMGrid);
}

JavaScript Kod (Crm Formu için)
function Form_onload() {
    window.attachEvent('onmessage', receiveMessage);
}
function receiveMessage(e) {
    if (e.data == "RefreshJumpGrid") {
       window.location.reload();
/*Crm Formu güncellenecektir*/
    }
}



Hiç yorum yok:

Yorum Gönder