2012-10-14 49 views
0

我有一個Asp Gridview,帶有兩個動態列。一列將顯示一組字符(描述),另一列用於顯示圖像。 我只是想限制這個描述網格行高度。ASP Grid View,預處理行高度大小

<div> 
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" EnableModelValidation="True" 
        AllowPaging="True" GridLines="None" onselectedindexchanged="GridView1_SelectedIndexChanged"> 
     <Columns> 
      <asp:TemplateField> 
       <ItemTemplate> 
        <asp:Label ID="Label_dynamicDes" runat="server" Text='<%#Bind("description") %>'></asp:Label> <br/> 
       </ItemTemplate> 
      </asp:TemplateField> 
      <asp:ImageField DataImageUrlField="picpath" ControlStyle-Width='200px'> 
       <ControlStyle Width="200px"></ControlStyle> 
      </asp:ImageField> 
     </Columns> 
    </asp:GridView> 

    <asp:SqlDataSource ID="SqlDataSource_dynamic" runat="server"> 
    </asp:SqlDataSource> 

</div> 

如何控制GridView行大小的高度?我不能在Code後面做。請幫我用一些css函數來預定義動態行的大小?

回答

2

您可以從後面的代碼或標記中設置RowStyleAlternatingRowStyle。有關更多詳細信息,請參見MSDN

編輯:

您可以設置RowStyle-CssClass在類似這樣的標記:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
DataSourceID="SqlDataSource1" EnableModelValidation="True" 
AllowPaging="True" GridLines="None" onselectedindexchanged="GridView1_SelectedIndexChanged" 
RowStyle-CssClass="my-table-row-style"> 

將其設置在後面的代碼是這樣的:

GridView1.RowStyle.CssClass = "my-table-row-style"; 

或者只是做它純粹用CSS如下:

#GridView1 td 
{ 
    height: 90px; 
} 
1

我假設你不希望行的高度大於圖像的高度(假設爲90px)。你可以把一個div在模板列固定的高度並設置高度

<asp:TemplateField> 
    <ItemTemplate> 

     <div style="height:90px; overflow:auto"> 
     <asp:Label ID="Label_dynamicDes" runat="server" Text='<%#Bind("description") %>'></asp:Label> 
     </div> 

    </ItemTemplate> 
    </asp:TemplateField> 

當描述比身高多,股利會因爲overflow:auto滾動條。您也可以有overflow:scroll