巧用CSS解决asp.net中Gridview边框样式问题
2011-01-06 16:14
615 查看
html标签中的bordercolor属性指定表格边框颜色之后,无论是表格的四个边框还是表格内部的单元格
边框颜色便都设置好了.但是在asp.net的gridview控件中,设置bordercolor之后,在生成的html代码
中是这样表示的:
<table class="gridview_m" cellspacing="0" rules="all" border="1" id="ctl00_Content_GV_1"
style="border-color:#93C2F1;border-collapse:collapse;">
原来gridview中设置的bordercolor属性是css中的属性,其结果就是gridview的四个边框的颜色变了,
但是内部单元格的颜色却是灰色,而不是你指定的颜色.
【方法一】
//DataGrid
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType == System.Web.UI.WebControls.ListItemType.Header)
{
e.Item.Attributes.Add("style", "background-image:url('imgs/about7.gif')");
}
}
//GridView:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
e.Row.Attributes.Add("style", "background-image:url('imgs/about7.gif')");
}
}
【方法二】
运用css去控制
网上有不少朋友讨论过这个问题,有一种解决方法是用代码给gridview添加真正的bordercolor属性
例如:
this.GridView1.Attributes.Add("bordercolor", "red");
这样的缺点是不太灵活,如果需要用主题来控制界面样式
而代码中又有这样的语句的话,就不是很合适
利用css提供的机制,可以比较好的解决这个问题
举个例子啊
在主题中,将gridview的cssclass设置为gridview_m
<asp:GridView runat="server" CssClass="gridview_m" >
<HeaderStyle CssClass="girdview_head" />
<RowStyle CssClass="gridview_row" />
<PagerStyle HorizontalAlign="Center" />
</asp:GridView>
然后在css样式表中设置:
table.gridview_m
{
border-collapse: collapse;
border:solid 1px #93c2f1;
width:98%;
font-size:10pt;
}
table.gridview_m td,th
{
border-collapse: collapse;
border:solid 1px #93c2f1;
font-size:10pt;
}
以上css样式中还有其他样式,主要就是这一句:table.gridview_m td,th
将会给class="gridview"的table中的th和td标签应用样式
这样就解决了gridview的边框问题
其实,当你用第一个方法实现后,查看源代码不难发现,GridView控件被解析为table,而头部被多个《th》 标签分开。包含头部的那个《tr》变成了这样:<tr style="background-image:url('imgs/about7.gif')">
本文参考yoohhome自的博客
边框颜色便都设置好了.但是在asp.net的gridview控件中,设置bordercolor之后,在生成的html代码
中是这样表示的:
<table class="gridview_m" cellspacing="0" rules="all" border="1" id="ctl00_Content_GV_1"
style="border-color:#93C2F1;border-collapse:collapse;">
原来gridview中设置的bordercolor属性是css中的属性,其结果就是gridview的四个边框的颜色变了,
但是内部单元格的颜色却是灰色,而不是你指定的颜色.
【方法一】
//DataGrid
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if (e.Item.ItemType == System.Web.UI.WebControls.ListItemType.Header)
{
e.Item.Attributes.Add("style", "background-image:url('imgs/about7.gif')");
}
}
//GridView:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.Header)
{
e.Row.Attributes.Add("style", "background-image:url('imgs/about7.gif')");
}
}
【方法二】
运用css去控制
网上有不少朋友讨论过这个问题,有一种解决方法是用代码给gridview添加真正的bordercolor属性
例如:
this.GridView1.Attributes.Add("bordercolor", "red");
这样的缺点是不太灵活,如果需要用主题来控制界面样式
而代码中又有这样的语句的话,就不是很合适
利用css提供的机制,可以比较好的解决这个问题
举个例子啊
在主题中,将gridview的cssclass设置为gridview_m
<asp:GridView runat="server" CssClass="gridview_m" >
<HeaderStyle CssClass="girdview_head" />
<RowStyle CssClass="gridview_row" />
<PagerStyle HorizontalAlign="Center" />
</asp:GridView>
然后在css样式表中设置:
table.gridview_m
{
border-collapse: collapse;
border:solid 1px #93c2f1;
width:98%;
font-size:10pt;
}
table.gridview_m td,th
{
border-collapse: collapse;
border:solid 1px #93c2f1;
font-size:10pt;
}
以上css样式中还有其他样式,主要就是这一句:table.gridview_m td,th
将会给class="gridview"的table中的th和td标签应用样式
这样就解决了gridview的边框问题
其实,当你用第一个方法实现后,查看源代码不难发现,GridView控件被解析为table,而头部被多个《th》 标签分开。包含头部的那个《tr》变成了这样:<tr style="background-image:url('imgs/about7.gif')">
本文参考yoohhome自的博客
相关文章推荐
- [转]巧用CSS解决asp.net中Gridview边框样式问题
- [转]巧用CSS解决asp.net中Gridview边框样式问题
- 巧用CSS解决asp.net中Gridview边框样式问题
- 巧用CSS解决asp.net中Gridview边框样式问题
- [转]巧用CSS解决asp.net中Gridview边框样式问题
- 巧用CSS解决asp.net中Gridview边框样式问题
- 巧用CSS解决asp.net中Gridview边框样式问题
- 巧用CSS解决GridView样式边框的问题
- Asp.net Gridview 导出到Excel【解决编码乱码问题】
- Asp.net中的GridView导出遇到的两个问题和解决方法
- 【转】ASP.net2。0中解决无法获取 GridView 隐藏列值问题
- 解决ASP.NET中从GridView导出Execel出现的“空间GridView必须置于有runat=server的窗体标记中”问题
- asp.net 样式-GridView CSS的完整样式表
- asp.net解决IE6、360 CSS不兼容问题
- 【转】ASP.net2。0中解决无法获取 GridView 隐藏列值问题
- ASP.NET DEMO 7: 解决无法获取 GridView 隐藏列值问题
- Asp.net 中的GridView导出遇到的两个问题和解决方法
- ASP.NET 2.0中CSS不正常问题及解决
- [转]ASP.NET 2.0(ASP.NET 1.X)中CSS失效的问题的起因及解决办法
- css解决select不能被遮盖和不能设置边框背景补白等样式的问题