2016-10-26 4 views
0

私は複数の親子グリッドビューを持っています。問題は親グリッドビューです。名前はコスト($)で、子グリッドビューを展開して子グリッドビュー(Devexpress)を最小化すると($)記号が隠れています。 Parent-Childグリッドビューは、AspxCallbackPanelおよびPopupControlに存在します。マスター - 詳細グリッドビューの列が隠れている

<dx:ASPxCallbackPanel ID="cbpCartDetails" runat="server" 
     OnCallback="cbpCartDetails_Callback" ClientInstanceName="cbpCartDetails"> 
    <ClientSideEvents EndCallback="cbpCartDetails_EndCallBack" /> 
    <PanelCollection> 
    <dx:PanelContent ID="pnlCartDetails"> 
     <dx:ASPxPopupControl ClientInstanceName="popCartDetails" Width="600px" 
      Height="250px" CloseAction="CloseButton" MaxWidth="800px" MaxHeight="800px" 
      MinHeight="150px" MinWidth="150px" ID="popCartDetails" 
      HeaderStyle-ForeColor="White" HeaderStyle-Font-Bold="true" 
      runat="server" EnableViewState="false" PopupHorizontalAlign="WindowCenter" 
      PopupVerticalAlign="WindowCenter" EnableHierarchyRecreation="false" 
      Modal="true"> 
      <ContentCollection> 
       <dx:PopupControlContentControl ID="PopupControlContentControl2" 
               runat="server"> 

        <dx:ASPxGridView ID="grdBuildingCartEst" Width="100%" 
            Theme="SoftOrange" KeyFieldName="CarttypeId" 
            ClientInstanceName="grdBuildingCartEst"> 
         <Columns> 
          <dx:GridViewDataTextColumn FieldName="CartType" /> 
          <dx:GridViewDataTextColumn FieldName="NumberOfCart" /> 
          <dx:GridViewDataTextColumn FieldName="Cost" /> 
         </Columns> 

         <Templates> 
          <DetailRow> 
           <dx:ASPxGridView ID="grdFloorsCartEst" 
             Width="100%" 
             Theme="SoftOrange" 
             KeyFieldName="CarttypeId" 
             OnInit="grdFloorsCartEst_Init" 
             OnBeforePerformDataSelect= 
              "grdFloorsCartEst_BeforePerformDataSelect" 
             ClientInstanceName="grdFloorsCartEst"> 
            <Columns> 
             <dx:GridViewDataTextColumn 
              FieldName="CartSize" /> 
             <dx:GridViewDataTextColumn 
              FieldName="NumberOfCart" /> 
             <dx:GridViewDataTextColumn 
              FieldName="Cost" /> 
            </Columns>  
           </dx:ASPxGridView> 
          </DetailRow> 
         </Templates> 

         <SettingsDetail ShowDetailRow="true" /> 

        </dx:ASPxGridView>     
       </dx:PopupControlContentControl> 
      </ContentCollection> 
     </dx:ASPxPopupControl> 
    </dx:PanelContent> 
</PanelCollection> 

画面は画面が2(エラー) https://i.stack.imgur.com/AghdG.png

答えて

0

通知を撮影し、あなたが投稿したコードでは、何も「コスト($)がない1 https://i.stack.imgur.com/Fb1QX.png

ショット"マスターグリッド列の文字列、FieldName ="コスト "のみ。おそらく "Cost($)"は、Page_Loadやその他のイベント中にコードビハインドの列ヘッダーに設定されています。

子グリッドを展開すると、コールバックが発生し、コスト($)を設定したコードビハインドのイベントコードは実行されません。したがって、子グリッドエキスパンドコールバック中に、マスターグリッドの列ヘッダーが「コスト($)」に設定されていることを確認する必要があります。 100%確実にするには、あなたのページ/コントロールのコードビヘイビア部分を質問のテキストに投稿/添付します。

+0

実際にはシンボル($)はxmlファイルから来ています。 –

+0

@mohamedsamiので、子グリッドエキスパンドコールバック時にマスターグリッド列ヘッダーを更新する必要があります。最初のxmlファイルが必要な場合とそうでない場合があります。これは、コールバックイベントハンドラで行うことができます:grdBuildingCartEst.Columns( "Cost")。Caption = "Cost($)"; – andrews

関連する問題