我正在尝试设置我的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";
然而我仍无法设计数据样式。非常感谢任何建议
答案 0 :(得分:1)
最好的方法是分配CssClass,就像你一样。然后使用这样的选择器控制样式:
<强> Codehind 强>
MyGridView.CssClass = "aclass";
<强> CSS 强>
.aclass{Border: 1px solid lighgray;}
.aclass tr td {background:green; font-weight:bold; color: white}
Gridview在HTML中呈现为普通表,因此您可以在CSS端执行此操作以减少加载后的代码。
答案 1 :(得分: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");
}
}
}
答案 2 :(得分:0)
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 { 背景:绿色; font-weight:bold; 白颜色; }