asp.net - 如何为 GridView 中的特定行指定 CSS 类?

标签 asp.net gridview css

我正在用 C# 创建 SharePoint Web 部件,其中一部分将 GridView 控件输出到页面。虽然我可以通过设置 GridView 本身的 CSS 类来相当广泛地控制它的显示方式,但我真正想做的是能够为某些特定的 td 元素指定类。我不确定如何着手执行此操作,或者是否会在 GridView 填充行时或在将 GridView 添加到页面时完成。

在伪代码中,我基本上设想的是能够说出类似 gridView.Row[4].CssClass = "header" 的东西,这将设置第五行的 td GridView 到类“标题”。

我研究过使用 RowDataBound 事件,所以我只是使用以下方法对其进行测试:

protected void outputGrid1_RowDataBound(object sender, GridViewRowEventArgs e)
{
    e.Row.CssClass = "outputHeader";
}

这可能是我对如何正确使用它的误解,但它似乎没有做任何事情。我认为它会将所有行设置为“标题”类,如果有,我会从那里处理我的逻辑,但我什至无法让它工作。感谢任何人可以提供的任何帮助!

最佳答案

我对 RowDataBound 做了类似的事情:

if (e.Row.RowType == DataControlRowType.DataRow)
{
    // Check the XXXX column - if empty, the YYYY needs highlighting!
    if (e.Row.Cells[6].Text == " ")
    {
       e.Row.CssClass = "highlightRow"; // ...so highlight it
    }
}

检查您正在做的事情是否正确的一种方法是通过浏览器监视您的 html 输出...像 Firebug 这样的东西真的很有帮助。

这是一些示例 CSS,我们将 CssClass“dataGrid”分配给网格:

/* Used to highlight rows */
table.dataGrid tr.highlightRow td
{
    background-color: #FF6666;
    border-bottom: 1px solid #C0C0FF;
}

更新: 连接所有这些:我在 aspx 页面上使用自动连接。您的页面声明如下所示:

<%@ Page Language="C#" MasterPageFile="~/XXXXXX.master" AutoEventWireup="true" CodeBehind="YYYY.aspx.cs" Inherits="ZZZ.ZZZ.AAAAAA" Title="View Blah" %>

页面上的此设置允许您使用 UI 连接事件。单击网格,选择属性,单击闪电图标,然后在 RowDataBound 事件下选择您的方法。所有这一切在幕后所做的就是向 DataGridView 添加一个属性,因此:

        <asp:GridView ID="uiActionGridView" runat="server" AllowSorting="True" AutoGenerateColumns="False"
        OnRowDataBound="uiActionGridView_RowDataBound" OnDataBound="uiActionGridView_DataBound">
  • 这显示了正在连接的两个事件,DataBound 和 RowDataBound 事件。

这就是我使用 VS2005 所做的,它似乎“正常工作”。我认为您正在经历的唯一一件事是您数据绑定(bind)发生后手动绑定(bind)事件。

关于asp.net - 如何为 GridView 中的特定行指定 CSS 类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2390200/

相关文章:

c# - 如何在 C# 的 GridView 中进行多行选择

android - ListView/GridView 中按下项目的默认背景颜色

javascript - IE8 渲染问题

javascript - ASP.NET GridView

c# - 使用 asp.net 下载文件

c# - 带有鼠标悬停的列标题的 gridView 定义

html - 隐藏 <h1> 标签而不被 Google 禁止的正确方法是什么?

css - 将 Aptana 用于使用 FP Extensions 创建的站点?

c# - 如何配置 ActionLink 格式来删除子目录?

c# - 使用数组中的索引作为数据值?