我在ASP.NET 2.0中有一个GridView
我希望只显示内部网格线。到目前为止,这是我的标记和CSS:
<asp:GridView ID="myGrid" runat="server" GridLines="None" CssClass="myDataGridClass">
<Columns>
...columns here...
</Columns>
</asp:GridView>
CSS:
.myDataGridClass>tbody>tr>td /* Apply border to all cells */
{
border:1px solid black;
}
.myDataGridClass>tbody>tr>th /* Apply border to headers */
{
border:1px solid black;
}
.myDataGridClass>tbody>tr>td:last-child /* Remove right-side border */
{
border-right-width:0;
}
.myDataGridClass>tbody>tr>td:first-child /* Remove left-side border */
{
border-left-width:0;
}
.myDataGridClass>tbody>tr>th:last-child /* Remove right-side header border */
{
border-right-width:0;
}
.myDataGridClass>tbody>tr>th:first-child /* Remove left-side header border */
{
border-left-width:0;
}
.myDataGridClass>tbody>tr:last-child>td /* Remove bottom border */
{
border-bottom-width:0;
}
.myDataGridClass>tbody>tr>th /* Remove top border */
{
border-top-width:0;
}
我认为必须是一种更简单的方法吗?我上面的方法在IE中不起作用,因为我使用的是last-child
。
答案 0 :(得分:5)
protected void Page_Load(object sender, EventArgs e)
{
this.myGrid.Attributes.Add("bordercolor", "#000");
}
使用GridView,声明性bordercolor属性添加一个内联样式声明,该声明仅适用于表本身,而不是单个单元格。
以编程方式添加bordercolor属性不使用内联样式,而是使用HTML bordercolor属性,这些属性适用于表中的所有边框。
请参阅此博客文章中的评论:
http://codersbarn.com/post/2009/05/31/Set-Color-of-GridLines-in-Gridview.aspx
答案 1 :(得分:0)
GridLines="None" CellSpacing="2" BackColor="White"