【问题标题】:how do I put an ID on the first table header in asp:DataGrid for CSS?如何在 asp:DataGrid for CSS 的第一个表头上放置一个 ID?
【发布时间】:2011-09-28 15:29:30
【问题描述】:

我想在 CSS 中针对表格标题行中的第一个元素做一些事情,但我不想依赖 :first_child。

代码:

<asp:TemplateColumn HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left"> 
    <HeaderTemplate> 
        <span><asp:Literal id="header" runat="server" Text="<%$ Resources:index, IndexSearch_Header_Product %>" /></span> 
    </HeaderTemplate> 
    <ItemTemplate> 
        <asp:HyperLink runat="server" ID="productLink" /> 
    </ItemTemplate> 
</asp:TemplateColumn> 

在哪里可以在 td/th 本身上添加一个 ID(用于 CSS)?

【问题讨论】:

标签: .net asp.net html css datagrid


【解决方案1】:

您可以在 TemplateColumn 中添加所需的类作为 HeaderStyle-CssClass 属性。检查下面的代码。

<asp:TemplateColumn HeaderStyle-CssClass="firstheaderclass" HeaderStyle-HorizontalAlign="Left" ItemStyle-HorizontalAlign="Left"> 
    <HeaderTemplate> 
        <span><asp:Literal id="header" runat="server" Text="<%$ Resources:index, IndexSearch_Header_Product %>" /></span> 
    </HeaderTemplate> 
    <ItemTemplate> 
        <asp:HyperLink runat="server" ID="productLink" /> 
    </ItemTemplate> 
</asp:TemplateColumn> 

但是如果你想给Datagrid的第一个表头添加一个ID属性,你必须在后面的代码中完成,并且把ID属性加到第一个表头单元格中

试一试;-)

【讨论】:

    【解决方案2】:

    不确定是否可以。创建一个命名的 css 类并将其分配给 HeaderTemplate 中的内容。

    【讨论】:

    • “在 HeaderTemplate 内”?我想要标题本身的 ID,而不是跨度或内部的任何其他内容
    【解决方案3】:

    使用 GridView 而不是 DataGridGridView 将标题呈现为“th”标签(不是“td”)。

    所以,假设您将 CssClass="myGrid" 设置为 GridView,您可以通过这个 CSS 选择器来装饰您的标题:

    table.myGrid tr th
    {
       background-color: blue;
    }
    

    【讨论】:

      猜你喜欢
      • 2017-07-18
      • 1970-01-01
      • 1970-01-01
      • 2022-11-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多