2

我正在尝试设置我的 GridView 对象的样式,但我似乎无法让它使用 CSS 类。我正在动态创建 GridView,因此它们都是在代码隐藏中创建的。我尝试了以下方法,但似乎没有任何效果。

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

以及在 RowDataBound 事件中:

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

但我仍然无法设置我的数据样式。任何意见是极大的赞赏

4

3 回答 3

1
    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 类声明在 head 标记或链接中应如下所示:

.controlbackcolor { 背景:绿色;字体粗细:粗体;白颜色; }

于 2013-03-18T19:07:03.373 回答
1

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

代码隐藏

MyGridView.CssClass = "aclass";

CSS

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

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

于 2014-06-15T02:51:25.950 回答
1

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");
            }
        }
    }
于 2020-08-13T09:59:40.803 回答