当前位置:  开发笔记 > 编程语言 > 正文

如何为GridView中的特定行指定CSS类?

如何解决《如何为GridView中的特定行指定CSS类?》经验,为你挑选了1个好方法。

我在C#中创建一个SharePoint Web部件,其中一部分将GridView控件输出到页面.虽然我可以通过设置GridView本身的CSS类来对其显示方式进行相当广泛的控制,但我真正想要做的是能够为某些特定的td元素指定类.我不知道该怎么做,或者在GridView填充行时,或者在GridView添加到页面时完成.

在伪代码中,我基本上设想的是能够说出类似的东西gridView.Row[4].CssClass = "header",它会将GridView中第五行的td设置为类"header".

我已经研究过使用RowDataBound事件,所以我只是使用以下方法来测试它:

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

这可能是我对如何正确使用它的误解,但它似乎没有做任何事情.我认为它会将所有行设置为类"header",如果有的话,我将从那里开始处理我的逻辑,但我甚至无法让它工作.感谢任何人都能提供的帮助!



1> Nij..:

我用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'分配给Grid:

/* 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添加一个属性,因此:

        

这显示了两个正在连接的事件,即DataBound和RowDataBound事件.

这就是我使用VS2005做的事情,它似乎都"正常工作".我能想到的唯一一件事是你在数据绑定发生手动绑定事件.

推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有