2016-10-26 81 views
0

我有一個多父 - 子Gridview。問題是父Gridview列名稱是成本($)和($)符號隱藏,當我展開子網格視圖並將其返回時,我最小化子網格視圖(Devexpress)。 Parent-Child gridview存在於AspxCallbackPanel和PopupControl中。Master - Detail Gridview列隱藏Devexpress

<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> 

屏幕截圖1 https://i.stack.imgur.com/Fb1QX.png

屏幕截圖2(錯誤) https://i.stack.imgur.com/AghdG.png

回答

0

通知,你已經發布的代碼,不存在「成本($) 「主網格列的字符串,只有FieldName =」費用「。在Page_Load或其他某些事件期間,大多數情況下,「代價($)」在代碼隱藏中設置爲列標題。

當您展開子網格時,會發生回調,並且在代碼隱藏處設置成本($)的事件代碼不會執行。因此,在子網格展開回調期間,您需要確保主網格的列標題設置爲「成本($)」。要100%確定,請將您的頁面/控件的代碼隱藏部分發布/附加到問題的文本中。

+0

其實符號($)來自xml文件。 –

+0

@mohamedsami,因此您需要確保在子網格擴展回調時更新主網格列標題。您可能需要也可能不需要該初始xml文件。它可以在回調事件處理程序中完成,例如:grdBuildingCartEst.Columns(「Cost」)。Caption =「Cost($)」; – andrews