在后台代码中为GridView添加CSS

本文关键字:GridView 添加 CSS 后台 代码 | 更新日期: 2023-09-27 18:04:27

我试图样式我的GridView对象,但我似乎不能让它使用CSS类。我正在动态地创建GridViews,所以它们都是在代码后面创建的。我尝试了以下方法,但似乎都不起作用。

for (...)
{
 GridView gv = new GridView();
 gv.CssClass = "aclass";
 gv.Attributes.Add("class", "aclass");
}

以及RowDataBound事件

foreach (row in gv)
e.Row.Cells[i].CssClass = "aClass";

,但我仍然不能为我的数据设置样式。如有任何建议,不胜感激

在后台代码中为GridView添加CSS

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            e.Row.Cells[1].CssClass = "controlbackcolor";
            e.Row.Cells[3].CssClass = "controlbackcolor";
        }
    }

这应该可以工作,但你需要确保CSS类被放在正确的位置或链接。否则你不会得到应用的样式

你的Css类声明应该看起来像下面的头标签或链接:

.controlbackcolor{背景:绿色;粗细:大胆的;颜色:白色;}

最好的方法是分配CssClass,就像你正在做的那样。然后使用选择器控制样式,像这样:

Codehind

MyGridView.CssClass = "aclass";
CSS

.aclass{Border: 1px solid lighgray;}
.aclass tr td {background:green; font-weight:bold; color: white}

Gridview在HTML中呈现为普通表格,因此您可以在CSS端执行此操作以减少代码滞后负载。

Bootstrap类也可以添加到后面的代码中,如

protected void gvEmpContactsHistory_SelectedIndexChanged(object sender, EventArgs e)
    {
        string val = Convert.ToDateTime(gvEmpContactsHistory.SelectedDataKey.Value).ToString("dd-MM-yyyy hh:mm:ss", new System.Globalization.CultureInfo("en-US"));
        GetEmployeeDetail(val);
        foreach (GridViewRow row in gvEmpContactsHistory.Rows)
        {
            if (row.RowIndex == gvEmpContactsHistory.SelectedIndex)
            {
                row.ToolTip = string.Empty;
                row.Attributes.Add("class", "btn-success");
            }
            else
            {
                row.ToolTip = "Click to select this row.";
                row.Attributes.Add("class", "btn-outline-success");
            }
        }
    }