我遇到一个小问题。我正在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"
我想要的是让网格视图看起来很棒!!!
答案 0 :(得分:1)
我正在使用一些服务器代码进行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
{
}
希望,这有帮助!
答案 1 :(得分:0)
答案 2 :(得分:0)
使用IE Developer Toolbar(或者,我可以建议使用Firebug w / Mozilla Firefox),您可以验证CSS类应用于哪个HTML输出元素吗?
我感觉主要的CSS选择器(.SPGridviewsCSS
)失败了,因此没有任何样式。
同样有用的可能是发布HTML输出的片段,以便我们可以看到您尝试设置的样式。
答案 3 :(得分:0)
这可能不是编码问题吗?双方之间不一致地使用UTF-8会导致CSS出现异常错误,一些编辑也不会仅基于声明对文档进行正确编码。退房:
http://www.w3.org/International/questions/qa-setting-encoding-in-applications