由于某种原因,当我在IE或Chrome中打开gridview时,我的网格线没有显示。我已将gridLines属性设置为Both。
<asp:GridView ID="GridView1" runat="server" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" BorderColor="Black" AutoGenerateColumns="True" Height="350px" ShowFooter="True" AllowSorting="True" BackColor="Black" BorderStyle="Ridge" BorderWidth="2px" CellPadding="3" CellSpacing="3" GridLines ="Both">
<FooterStyle BackColor="#C6C3C6" ForeColor="Black" />
<HeaderStyle Font-Size="7pt" Width="400px" BackColor="#4A3C8C" Font-Bold="True" ForeColor="#E7E7FF" >
</HeaderStyle>
<PagerStyle BackColor="#C6C3C6" ForeColor="Black" HorizontalAlign="Right" />
<RowStyle BackColor="#DEDFDE" ForeColor="Black" />
<SelectedRowStyle BackColor="#9471DE" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#F1F1F1" />
<SortedAscendingHeaderStyle BackColor="#594B9C" />
<SortedDescendingCellStyle BackColor="#CAC9C9" />
<SortedDescendingHeaderStyle BackColor="#33276A" />
</asp:GridView>
答案 0 :(得分:4)
设置GridLines
会使用rules
属性呈现该表,这是旧的处理方式,不再受支持。你现在想用css来造型。这相当于您的样本:
<style type="text/css">
.GridView1 { border-spacing: 3px; border-collapse: separate; }
.GridView1 > tbody > tr > th,
.GridView1 > tbody > tr > td { border: 2px ridge black; padding: 3px; }
</style>
<asp:GridView ID="GridView1" runat="server" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" ShowFooter="True" AllowSorting="True" AutoGenerateColumns="True"
Height="350px" BackColor="Black"
CssClass="GridView1" GridLines="none" CellPadding="-1" CellSpacing="-1">
<FooterStyle BackColor="#C6C3C6" ForeColor="Black" />
<HeaderStyle Font-Size="7pt" Width="400px" BackColor="#4A3C8C" Font-Bold="True" ForeColor="#E7E7FF"></HeaderStyle>
<PagerStyle BackColor="#C6C3C6" ForeColor="Black" HorizontalAlign="Right" />
<RowStyle BackColor="#DEDFDE" ForeColor="Black" />
<SelectedRowStyle BackColor="#9471DE" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#F1F1F1" />
<SortedAscendingHeaderStyle BackColor="#594B9C" />
<SortedDescendingCellStyle BackColor="#CAC9C9" />
<SortedDescendingHeaderStyle BackColor="#33276A" />
</asp:GridView>
GridLines="none"
消除了rules
属性。设置css border
属性可定义边框的外观。
将cellpadding
和cellspacing
设置为-1
会消除旧式表格属性。
在具有标准th
属性的td
和padding
元素上定义了填充。
使用表格中的border-spacing
和border-collapse: separate
组合属性完成间距。这有点不寻常 - 大多数人使用border-collapse: collapse
并且没有边框间距。
似乎没有很好地支持ridge
边框样式。 IE和FF做的却不同。 Chome只是把它画得很稳固。
您还可以通过为RowStyle
等内容定义css类并设置相应的属性,将其他一些属性移动到样式表。
答案 1 :(得分:0)
这很奇怪,但你可以尝试这样的事情 为你的网格设置一个CssClass
说
的CssClass =&#34;网格&#34;
并为其添加样式
<style type="text/css">
table.grid{
border-collapse:collapse;
border:solid 2px black;
}
table.grid td, th{
border:solid 2px black;
}
</style>