2016-10-26 117 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