2012-05-13 18 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関数が含まれています。最も洗練されたアプローチは、いくつかの引数を含むMasterPageで処理されるジェネリックコールバック関数を作成し、その関数が作業中のページの別のより具体的な関数に委譲されるようにすることです。より一般的なアプローチは、私は、以下に説明した内容である:あなたの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; 
     } 

あなたはこのJavaScriptを含めることができます。

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

私はRadWindowsを持っていますMasterPageと私はRadGridがContentPageにあるので、MasterPageからradGridを呼び出すことはできません。 – JohnMalcom

+0

私は別の方法で試してみました。 –

関連する問題