使用CSS样式时,Datagrid标题全部出现在一列中

时间:2013-01-09 11:55:57

标签: c# asp.net css

我的屏幕显示中有一个数据网格,定义如下: -

<div style="overflow: auto; width: 380px; height: 300px">
    <asp:DataGrid id="ItemsGrid"
                  BorderWidth="1"
                  CellPadding="3"
                  AutoGenerateColumns="true"
                  runat="server">
        <HeaderStyle CssClass="subHeader"></HeaderStyle>
        <ItemStyle CssClass="normalText"></ItemStyle >
    </asp:DataGrid>
</div>

显示如下: -

Display with HeaderStyle

如果没有HeaderStyle项,网格将按照我的预期显示: -

Display without HeaderStyle

(尽管标题的样式错误)。因此CSS是: -

.subHeader
{
    clear:both;
    float: left;
    display: block;
    overflow: hidden;
    margin: 0;
    border: 0;
    border-width: 0px;
    border-right-style: solid;
    font-size: small;
    font-family: Verdana;
}

有谁知道我在做错了什么?我尝试了here这个建议,但它没有任何区别。

修改

这里要求的是HTML输出,首先是带有HeaderStyle条目的版本: -

<div style="overflow: auto; width: 380px; height: 300px">
    <table cellspacing="0" cellpadding="3" rules="all" border="1" id="ItemsGrid style="border-width:1px;border-style:solid;border-collapse:collapse;">
    <tr class="subHeader">
        <td>Grade</td><td>Kurznamen</td><td>Discard&nbsp;Length</td>
    </tr><tr class="normalText">
        <td>13004</td><td>21CRNIMO2-2-2</td><td>23.17</td>

没有: -

                       <div style="overflow: auto; width: 380px; height: 300px">
                            <table cellspacing="0" cellpadding="3" rules="all" border="1" id="ItemsGrid" style="border-width:1px;border-style:solid;border-collapse:collapse;">
<tr>
    <td>Grade</td><td>Kurznamen</td><td>Discard&nbsp;Length</td>
</tr><tr class="normalText">
    <td>13004</td><td>21CRNIMO2-2-2</td><td>23.17</td>

1 个答案:

答案 0 :(得分:1)

删除clearfloat规则,您应该好好去。

此外,如果您不熟悉CSS,我建议您查看以下网站:http://www.csstutorial.net/