0

RadPageView 内に 1 つの Telerik RadGrid があり、別の RadPageView 内に別の RadGrid があります。どちらも同じ RadMultiPage コントロールの一部です。ウィンドウの残りのスペースを埋めるために RadGrids のサイズを変更する Javascript 関数を作成しています。どの RadGrid がアクティブな RadPageView に表示されているかを確認するにはどうすればよいですか?

これにより、私が何を意味するかがより明確になるかもしれません。

<script type="text/javascript">
function resizeElements(sender, EventArgs) {
  var m_grid = sender;
  if(m_grid) {
     m_grid.GridDataDiv.style.height = right_pane_height - padding + "px";
  }
}
</script>
<div id="right_pane">
<telerik:RadMultiPage runat="server" >
  <telerik:RadPageView runat="server">
     <telerik:RadGrid runat="server" >
       <ClientSettings>
           <ClientEvents OnGridCreated="resizeElements" />
         </ClientSettings>
     </telerik:RadGrid>
  </telerik:RadPageView>
  <telerik:RadPageView runat="server">
     <telerik:RadGrid runat="server" >
       <ClientSettings>
           <ClientEvents OnGridCreated="resizeElements" />
         </ClientSettings>
     </telerik:RadGrid>
  </telerik:RadPageView>
</telerik:RadMultiPage>
</div>
4

2 に答える 2

0

私は Telerik を使用しませんが、一般的なアプローチは、Firebug/Chrome F12 ビュー/類似の要素のクラスを確認し、JQuery を使用して RadMultiPage 内の「div:visible」を見つけることです (これにASP.NET で可能な場合は ID またはクラス)。この中にグリッドがあります。

JQuery は次のようになります。

$('#myMultiPageID > div:visible > .classOfRadGrid').each(function() {
    resizeElements(this, myEventArgsVariable);
});
于 2012-06-27T21:29:05.250 に答える
0

サイズを変更するために、どの RadGrid が表示されているかを知る必要がないことに気付きました。両方のサイズを変更するだけです。唯一の問題は、RadGrid とその GridDataDiv 要素が存在することを確認する必要があることです。これは、それらが存在する RadPageView が表示されていない場合に存在しない可能性があるためです。

if( m_grid && m_grid.GridDataDiv ) {
      m_grid.GridDataDiv.style.height = right_pane_height - padding + "px";
}

if( m_grid2 && m_grid2.GridDataDiv ) {
      m_grid2.GridDataDiv.style.height = right_pane_height - padding + "px";
}
于 2012-07-18T16:14:35.253 に答える