2011-10-21 6 views
3

私は自分のページにネストされたグリッドビューを持っています。最初のものはヘッダーのように使用されるので、セグメント名が表示されます。 2番目はセグメントの詳細を表示するために使用されます。最初のグリッドをスタイリングする際に問題が発生していることを除いて、すべてがうまくいきます。このページにデータを表示する方法は、 セグメント(改行) です。詳細ネストされたグリッドビューC#

ただし、セグメントの詳細は1行に表示されます。グリッドを2列に表示するにはどうすればページの幅全体を取ることができますか?ここでその設定方法を示します。それを行うには

<asp:GridView ID="gvSegments" runat="server" AutoGenerateColumns="false" GridLines="None" Width="900px" OnRowDataBound="gvSegments_RowDataBound"> 
    <Columns> 
     <asp:TemplateField ShowHeader="false"> 
      <ControlStyle Width="140px" /> 
      <ItemTemplate> 
       <asp:HiddenField ID="hfSegmentId" runat="server" Value='<%# Bind("SegmentId") %>' /> 
       <asp:Label ID="lblSegmentDesc" runat="server" Text='<%# Bind("SegmentDesc") %>' Font-Bold="true" /> 
      </ItemTemplate> 
     </asp:TemplateField> 
     <asp:TemplateField ShowHeader="false"> 
      <ItemTemplate> 
       <asp:GridView ID="gvSegmentDetails" runat="server" AutoGenerateColumns="false" GridLines="None" OnRowDataBound="gvSegmentDetails_RowDataBound" Font-Size="11px"> 
        <Columns> 
         <asp:TemplateField ShowHeader="false"> 
          <ItemStyle HorizontalAlign="Center" /> 
          <ItemTemplate> 
           <asp:CheckBox ID="chkAction" runat="server" /> 
          </ItemTemplate> 
         </asp:TemplateField> 
         <asp:TemplateField HeaderText="Medium"> 
          <ControlStyle Font-Size="11px" /> 
          <ItemStyle HorizontalAlign="Center" /> 
          <ItemTemplate> 
           <asp:HiddenField ID="hfSegmentId" runat="server" Value='<%# Bind("SegmentId") %>' /> 
           <asp:HiddenField ID="hfSegmentDetailId" runat="server" Value='<%# Bind("SegmentDetailId") %>' /> 
           <asp:Label ID="lblMediaType" runat="server" Text='<%# Bind("MediaTypeDesc") %>' /> 
          </ItemTemplate> 
         </asp:TemplateField> 
         <asp:TemplateField HeaderText="Cost per Piece"> 
          <ItemStyle HorizontalAlign="Center" /> 
          <ItemTemplate> 
           <asp:Label ID="lblCostPerPiece" runat="server" Text='<%# Bind("CostPerPiece") %>' /> 
          </ItemTemplate> 
         </asp:TemplateField> 
         <asp:TemplateField ShowHeader="false"> 
          <ItemTemplate> 
           <asp:LinkButton ID="lnkEditMedia" runat="server" Text="Details" OnClick="lnkEditMedia_Click" /> 
          </ItemTemplate> 
         </asp:TemplateField> 
         <asp:TemplateField HeaderText="Advertising Months"> 
          <ControlStyle Font-Size="11px" /> 
          <ItemStyle HorizontalAlign="Center" /> 
          <ItemTemplate> 
           <asp:Label ID="lblAdvertisingMonths" runat="server" Text='<%# Bind("Months") %>' /> 
          </ItemTemplate> 
         </asp:TemplateField> 
         <asp:TemplateField HeaderText="Budget"> 
          <ControlStyle Width="70px" Font-Size="11px" /> 
          <ItemStyle HorizontalAlign="Center" /> 
          <ItemTemplate> 
           <asp:Label ID="txtBudget" runat="server" Text='<%# Bind("DropAmount", "{0:$###,###,##0.00}") %>' /> 
          </ItemTemplate> 
         </asp:TemplateField> 
         <asp:TemplateField HeaderText="Total Quantity"> 
          <ItemStyle HorizontalAlign="Center" /> 
          <ControlStyle Width="50px" Font-Size="11px" /> 
          <ItemTemplate> 
           <asp:Label ID="lblTotalQty" runat="server" Text='<%# Bind("DropQuantity") %>' /> 
          </ItemTemplate> 
         </asp:TemplateField> 
         <asp:TemplateField HeaderText="Select Creative"> 
          <ControlStyle Font-Size="11px" /> 
          <ItemTemplate> 
           <asp:DropDownList ID="ddrCreative" runat="server" AppendDataBoundItems="true" OnSelectedIndexChanged="ddrCreative_SelectedChanged" AutoPostBack="true"> 
            <asp:ListItem Value="-1" Text="Select One" Selected="True" /> 
           </asp:DropDownList> 
          </ItemTemplate> 
         </asp:TemplateField> 
         <asp:TemplateField ShowHeader="false"> 
          <ControlStyle Font-Size="11px" /> 
          <ItemTemplate> 
           <asp:HiddenField ID="hfCreativeUrl" runat="server" /> 
           <asp:HyperLink ID="hprCreativeUrl" runat="server" Target="_blank" Text="Click here" /> 
          </ItemTemplate> 
         </asp:TemplateField> 
        </Columns> 
        <HeaderStyle BackColor="#a73e20" ForeColor="White" /> 
        <AlternatingRowStyle BackColor="#E4E4E4" /> 
        <RowStyle BackColor="#F7F7F7" /> 
       </asp:GridView> 
      </ItemTemplate> 
     </asp:TemplateField> 
    </Columns> 
</asp:GridView> 

答えて

1

一つの方法は、(althoughtは多分あなたが探しているではないものを)中断及び/または水平線またはのようなものを使用して、他の最初の列と同じItemTemplateにに両方のネストされたGridViewコントロールを配置することですそれ。行は、あなたは自分のTemplateFieldに

<asp:TemplateField ItemStyle-Width="100%"> 
+0

クールを追加し、ItemStyleできるウィンドウ全体にまたがる作るために

その後
<asp:GridView ID="gvSegments" runat="server"> <Columns> <asp:TemplateField> <ItemTemplate> <asp:HiddenField /> <asp:Label /> <br /> <hr /> <asp:GridView /> </ItemTemplate> </asp:TemplateField> </Columns> </asp:GridView> 

:それはのようになります!決してそれについて考えたことはありません。ありがとうデリック。それはうまくいった。 – bladerunner

+0

私は助けることができる嬉しい:) –

関連する問題