【问题标题】:Internal gridlines in GridView in ASP.NETASP.NET 中 GridView 中的内部网格线
【发布时间】:2011-09-20 14:07:51
【问题描述】:

我在 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

【问题讨论】:

  • GridLines="None" 在你的代码帮助我 +1..thanx

标签: asp.net css internet-explorer cross-browser


【解决方案1】:
GridLines="None" CellSpacing="2" BackColor="White"

【讨论】:

    【解决方案2】:
    protected void Page_Load(object sender, EventArgs e)
    {
        this.myGrid.Attributes.Add("bordercolor", "#000");
    }
    

    对于 GridView,声明性边框颜色属性添加了一个内联样式声明,该声明仅适用于表格本身,而不适用于单个单元格。

    以编程方式添加边框颜色属性不使用内联样式,而是使用 HTML 边框颜色属性,浏览器将其应用于表格内的所有边框。

    请参阅此博文下的 cmets:

    http://codersbarn.com/post/2009/05/31/Set-Color-of-GridLines-in-Gridview.aspx

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多