0

我有一个带有两个动态列的 Asp Gridview。一列将显示一组字符(描述),另一列用于显示图像。我只是想限制这个描述网格行高。

<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 行大小的高度?我不能在后面的代码中做到这一点。请帮我一些css函数来预定义动态行的大小?

4

2 回答 2

3

您可以从代码后面或标记中设置RowStyle和。有关详细信息,AlternatingRowStyle请参阅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;
}
于 2012-10-14T05:49:43.310 回答
1

我假设您不希望行的高度大于图像的高度(假设为 90 像素)。您可以在 TemplateField 中放置一个固定高度的 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>

当描述超过高度时,div 会有滚动条,因为overflow:auto. 你也可以拥有overflow:scroll

于 2012-10-14T07:44:56.397 回答