asp.net – 选择性地将CSS应用于gridview中的一行

前端之家收集整理的这篇文章主要介绍了asp.net – 选择性地将CSS应用于gridview中的一行前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一种方法来根据数据绑定项的属性选择性地将CSS类应用于GridView中的各个行。

例如。:

GridView的数据源是SummaryItems的一个通用列表,而SummaryItem具有一个属性ShouldHighlight。当ShouldHighlight == true时,应将相关行的CSS设置为突出显示

有任何想法吗?

解决方法

好简单
protected void GridView1_RowDataBound(object sender,GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        DataRowView drv = e.Row.DataItem as DataRowView;
        if (drv["ShouldHighlight"].ToString().ToLower() == "true")
            e.Row.CssClass = "highlighted";
    }
}

如果您使用DataTable作为DataSource,上述代码将起作用

改成:

protected void GridView1_RowDataBound(object sender,GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
        myClass drv = (myClass)e.Row.DataItem;
        if (drv.ShouldHighlight)
            e.Row.CssClass = "highlighted";
    }
}

只是为了上面的例子使用泛型:

public class myClass
{ 
    public Boolean ShouldHighlight
    { get; set; }
}

如果您正在使用泛型(列表,字典等)

记住:

e.Row.dataItem

总是返回您填充行的整个对象,因此从这里很容易操纵网页中的数据的外观。

您应该使用RowDataBound事件,该数据将在数据附加到行对象之后触发,但尚未在页面中编写HTML代码,以这种方式可以检查ShouldHighlight值(我转换为字符串因为我不知道该类型,如果你知道它是一个布尔值,你可以改变它)。

这个代码比megakemp代码运行得更快,因为你不是创建一个List对象,并且填充了每一行的整个数据源…

附:使用look at this website,您可以使用GridView对象为您的项目找到几个教程

原文链接:https://www.f2er.com/aspnet/252091.html

猜你在找的asp.Net相关文章