我有个小问题。我正在web部件中动态创建一个SPGridView,并将其添加到web部件中,其中包含一些数据。这可以很好地工作。我现在决定让它看起来有点时髦!
然而,我似乎不能让我的cssclass属性工作。
我在css文件中有一个类
.SPGridviewsCSS th
{
background-color:#e60004;
color: Blue!important;
background-image:none;
}
.SPGridviewsCSS td
{
border-bottom-style: solid ;
border-bottom-width: 1px ;
border-bottom-color: #e60004 ;
}在我的oninit事件中
CssRegistration.Register("/Styles/Style.css");然后
myspgridview.cssclass = "SPGridviewsCSS" 我所想要的就是让网格视图看起来更好!
发布于 2010-09-17 01:06:18
我正在使用一些服务器代码来设置SPGridView样式。这不是一个非常优雅的解决方案,但它可以完美地工作。如果您没有太多的时间来寻找更好的解决方案,您可以在用户控件或aspx页中使用此代码,SPGridView控件位于这些页面中:
protected override void CreateChildControls()
{
// ...
spGridView.RowStyle.CssClass = "spgridview-td";
spGridView.AlternatingRowStyle.CssClass = "spgridview-td-alternating";
this.Controls.Add(spGridView);
// ...
}当然,您可以使用aspx标记而不是生成控件。例如:
<asp:SPGridView ID="spGridView" runat="server">
<RowStyle CssClass="spgridview-td" />
<AlternatingRowStyle CssClass="spgridview-td-alternating" />
</asp:SPGridView>下一件事是将样式附加到标题:
protected override void Render(HtmlTextWriter writer)
{
// ...
spGridView.DataBind();
if (spGridView.HeaderRow != null)
foreach (TableCell cell in spGridView.HeaderRow.Cells)
cell.CssClass = "spgridview-th";
// ...
}因此,您的css将是:
.spgridview-th
{
background-color:#e60004;
color: Blue!important;
background-image:none;
}
.spgridview-td
{
border-bottom-style: solid ;
border-bottom-width: 1px ;
border-bottom-color: #e60004 ;
}
.spgridview-td-alternating
{
}希望,这有帮助!
发布于 2010-09-16 20:13:11
我不是CSS专家,但是th和td不是网格的table元素的直接后代,所以也许你应该试试:
.SPGridviewsCSS * tdHave a look here。
发布于 2010-09-16 22:59:04
使用IE Developer Toolbar (或者,我可以建议使用CSS / Mozilla Firefox),您可以验证Firebug类应用于哪个HTML output元素吗?
我有一种感觉,主要的CSS选择器(.SPGridviewsCSS)失败了,因此没有任何样式。
张贴HTML输出的一小段可能也很有帮助,这样我们就可以看到您正在尝试设计的样式。
https://stackoverflow.com/questions/3726017
复制相似问题