我正在尝试在 C# 文件中设置 ASP.Net GridView 标题的样式。这是我返回样式化 GridView 的方法:
private GridView setupGridView(string caption)
{
var gview = new GridView()
{
BackColor = Color.White,
BorderColor = Color.Gray,
BorderStyle = BorderStyle.Solid,
BorderWidth = new Unit(1, UnitType.Pixel),
Caption = caption,
ForeColor = Color.Black,
};
gview.HeaderStyle.BackColor = Color.Navy;
gview.HeaderStyle.ForeColor = Color.White;
gview.HeaderStyle.BorderColor = Color.DarkGray;
gview.HeaderStyle.BorderWidth = new Unit(1, UnitType.Pixel);
gview.HeaderStyle.BorderStyle = BorderStyle.Solid;
gview.AlternatingRowStyle.BackColor = Color.LightGray;
return gview;
}
默认情况下,标题没有样式(它只是网格视图顶部的黑色文本)
有谁知道如何用白色文本设置 Caption Navy 的样式? (也许类似于我设计标题行的方式?)
EDIT:我之前已经使用 CSS 完成了此操作,但我没有这样做的自由,因为这是一个生成网格视图以在电子邮件中发送的程序。没有 aspx 文件或皮肤...
因此,在与另一位开发人员交谈后,我们想到了这个。 (顺便说一句,我踢自己,因为它太简单了)
为了写出用于在电子邮件中发送的 gridview,我使用了一个 htmlwriter,如下所示:
var sbuilder = new StringBuilder();
var swriter = new StringWriter(sbuilder);
var htmlWriter = new HtmlTextWriter(swriter);
//...
myGridview.RenderControl(htmlwriter);
mymailMessage.Body = sbuilder.ToString();
我所要做的就是在使用 htmlwriter 渲染控件之前添加样式。
所以我在创建 htmlwriter 之后添加了这个
htmlWriter.Write("<style type=\"text/css\">caption { font-family: Arial, sans-serif; color: white; font-size: 14px; font-weight: bold; padding: 3px 100px 3px 7px; text-align: left; white-space: nowrap; text-align: center; background-color: navy;}</style>");
当然,现在我会将这个字符串放在配置文件中的某个位置,这样我就不必重新编译项目来更改电子邮件的样式,但这就是我需要做的。
哇啦!所有标题的样式都相同...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)