2012-05-13 2 views

답변

6

RadWindow를 호출 할 때 콘텐츠 페이지 (default.aspx)에 OnClientClose="refreshGrid" 속성을 첨부하십시오. 창을 닫으면 해당 함수가 호출됩니다.

<telerik:RadWindow runat="server" ID="myRadWin" OnClientClose="refreshGrid" /> 

그리고이 기능을 사용하여 radGrid를 가져 와서 클라이언트 측에 다시 바인딩 할 수 있습니다.

function refreshGrid() 
{   
     var masterTable = $find("<%=radGrid1.clientId%>").get_masterTableView(); 
     masterTable.rebind(); 
} 

은 내가 masterPages 귀하의 경우에 이것을 추가하지만, 이러한 목표를 달성하기 위해 1 개 이상의 방법이 있기 때문에 그것은 또한이 질문에 걸림돌 다른 사람 유효한의로 위를 떠나했습니다.

Rad Window 페이지에는 상위 페이지로 콜백하는 RadWindow를 닫는 데 사용할 JavaScript 함수가 포함되어 있습니다. 가장 우아한 방법은 마스터 페이지에서 처리되는 일반 콜백 함수를 만들고 일부 인수를 포함하는 함수를 작성한 다음 해당 함수가 작업중인 페이지에 대한 다른보다 구체적인 함수로 위임하도록하는 것입니다. 당신의 RadWindow 페이지에서

:

function CloseAndRefreshGrid() { 
      var oWin = GetRadWindow(); 
      var parentWindow = oWin.BrowserWindow; 
      $(oWin).ready(function() 
      { 
       oWin.close(); 
      }); 
      parentWindow.refreshGrid();    
     } 

function GetRadWindow() { 
      var oWindow = null; 
      if (window.radWindow) oWindow = window.radWindow; //Will work in Moz in all cases, including classic dialog 
      else if (window.frameElement.radWindow) oWindow = window.frameElement.radWindow; //IE (and Moz as well) 

      return oWindow; 
     } 

를 콘텐츠 페이지에서이 자바 스크립트를 포함 할 수 있습니다 : 나는에서 RadWindows이

function refreshGrid() 
    {   
      var masterTable = $find("<%=radGrid1.clientId%>").get_masterTableView(); 
      masterTable.rebind(); 
    } 
+0

을보다 일반적인 접근 방식은 내가 설명했습니다 것입니다 MasterPage와 나는 RadGrid가 ContentPage에 있기 때문에 MasterPage에서 radGrid를 호출 할 수 없습니다. – JohnMalcom

+0

다른 방법을 시도해 보았습니다. –