2017-01-31 15 views
0

ユーザーのクリックに応じて列の表示が変更されるASP:Gridviewがあります。 コントロールの可視性が変更されたときにレイアウトのサイズを変更しないようにしたいと思います。GridViewのサイズ変更を防止する方法(ASP)

    <asp:TemplateField HeaderText="Name" HeaderStyle-HorizontalAlign="Right"> 
         <ItemStyle HorizontalAlign="Left" Wrap="False" Font-Size="Small" /> 
         <HeaderStyle HorizontalAlign="Right" CssClass="text-align:right" Font-Size="XX-Small" /> 
         <ItemTemplate> 
          <asp:Label ID="Label_Name" runat="server" Text='<%# Bind("Name") %>' Width="150" Height="10" /> 
         </ItemTemplate> 
        </asp:TemplateField> 


        <asp:TemplateField HeaderText="doc "> 
         <ItemStyle HorizontalAlign="Center" Wrap="False" Font-Size="Small" /> 
         <ItemTemplate> 
          <asp:CheckBox ID="CB_Doc" runat="server" Checked='<%# Bind("MyProp") %>' Width="50px" AutoPostBack="true" OnCheckedChanged="CB_CheckedChanged" /> 
         </ItemTemplate> 
        </asp:TemplateField> 


        <asp:TemplateField HeaderText="Book"> 
         <ItemStyle HorizontalAlign="Left" Wrap="False" Font-Size="XX-Small" /> 
         <ItemTemplate> 
          <asp:HiddenField runat="server" ID="HF_Id" Value='<%# Bind("Id") %>' /> 
          <table> 
           <tr> 
            <td style="padding-left: 50px;"> 
             <asp:CheckBox ID="CB_Book" runat="server" Checked='<%# Bind("MyProp2") %>' Width="30" AutoPostBack="true" OnCheckedChanged="CB_CheckedChanged" /> 
            </td> 

           <!-- A few more controls that might be visible or not depending if user clicks previous CheckBox --> 

           </tr> 
          </table> 
         </ItemTemplate> 
        </asp:TemplateField> 


       </Columns> 
      </asp:GridView> 

それはこのように表示さデフォルト: enter image description here

私は右のチェックボックスをクリックすると、GridViewコントロールのサイズを変更することが悪い考えを持っている。ここ

は、GridViewのコードですこの方法:

enter image description here

このサイズ変更を防ぐ方法はありますか? 私が見る限り、視界が変わるすべてのコントロールをリサイズすることなく表示するのに十分なスペースがあるはずです。

Thxです。

編集:投稿からの2つの更新画像は圧縮されて表示され、問題は見えません。 :( しかし、最初の列の幅が切れたりするページ全体のレイアウトを引き起こし-30%の減少している。

+0

上記二つの画像間の違いは何ですか?! – Null

答えて

0

divタグの内側にあなたのGridViewを入れて、その属性を設定し

<div id="ScrollList" style="height: 500px; overflow: auto"> 
<!-- your gridview --> 
</div> 

をIEとも設定あなたのboundfieldsの幅が

ItemStyle-Width="100%" ControlStyle-Width="100%" 

はそれが役に立てば幸いIE。

関連する問題