2012-03-14 6 views
0

私はマスター/ディテール構成で2つのasp.net devexpressグリッドビューを持っています。子行を表示するためのマスター行を展開し、子行の編集、新規追加、削除などの操作を行います。その後、親のグリッドビューを折りたたみ、両方のグリッドビューを新しいデータで更新します。どうすればいいのか教えてください。 devexpressサイトでは、CollapseRowとExpandRow javascript clientsideメソッドの記述を参照してください。しかし、それらを呼び出す方法を記述するサンプルコードは見つかりませんでした。devexpressのマスター/ディテールasp.net gridview

<dx:ASPxGridView ID="ASPxGridView1" runat="server" KeyFieldName="ID" 
      ClientInstanceName="grid"> 

とき、完全な更新またはあなたが完了した操作の後にコールgrid.CollapseAllDetailRows();を言ったように削除します。

おかげ

答えて

2

まずとしてグリッドにclientInstanceNameを割り当てます。またはASPxClientGridView.DetailRowExpanding Eventに、詳細な行番号visibleindexを設定します。要件に応じて、次のコードスニペットとコードを確認してください。

<html> 
    <head runat="server"> 
    <title></title> 
    <script language ="javascript" type ="text/javascript"> 
     var focusedIndex; 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <dx:ASPxGridView ID="ASPxGridView1" runat="server" KeyFieldName="ID" ClientInstanceName="grid"> 
      <ClientSideEvents DetailRowExpanding="function(s, e) { 
    focusedIndex = e.visibleIndex; 
}" /> 
      <SettingsBehavior AllowFocusedRow="True" AllowSelectByRowClick = "true" /> 
      <SettingsDetail ShowDetailRow="True" /> 
     </dx:ASPxGridView> 
     <dx:ASPxButton ID="ASPxButton1" runat="server" AutoPostBack="False" Text="ASPxButton"> 
      <ClientSideEvents Click="function(s, e) { 
      //var visibleindex = grid.GetFocusedRowIndex(); 
      //grid.CollapseAllDetailRows(); 
      if(focusedIndex != 'undefined') 
      { 
      grid.CollapseDetailRow(focusedIndex); 
      } 
      }"/> 
     </dx:ASPxButton> 
    </div> 
    </form> 
</body> 
</html> 
関連する問題