ASP.NET GridView网格线异常:竖线无法显示求助
ASP.NET GridView单元格竖线不显示的解决思路
设置GridLines="Both"后仅显示行横线,单元格竖线无法正常显示,以下是几种可行的解决思路:
补充GridView的BorderWidth属性:
当前代码仅配置了BorderColor和BorderStyle,缺少BorderWidth属性,默认宽度可能为0导致竖线无法渲染。在GridView标签中添加BorderWidth="1px"即可,示例:<asp:GridView runat="server" ID="gvActivity" AllowPaging="true" PageSize="10" AutoGenerateColumns="false" GridLines="Both" BorderColor="#000000" BorderStyle="Solid" BorderWidth="1px" EmptyDataText="No Data Found" Width="100%">为行和列样式添加完整边框属性:
单独给RowStyle、AlternatingRowStyle、HeaderStyle补充BorderWidth和BorderStyle,确保单元格边框生效:<RowStyle BackColor="#ffffff" ForeColor="#000000" BorderColor="#000000" BorderWidth="1px" BorderStyle="Solid" font-names="corbel, verdana, arial" Font-Size="14px" /> <AlternatingRowStyle BackColor="#ffffcc" ForeColor="#000000" BorderColor="#000000" BorderWidth="1px" BorderStyle="Solid" font-names="corbel, verdana, arial" Font-Size="14px" /> <HeaderStyle BackColor="#006699" ForeColor="#ffffff" HorizontalAlign="Center" BorderColor="#000000" BorderWidth="1px" BorderStyle="Solid" font-names="corbel, verdana, arial" Font-Size="14px" />也可以直接给每个BoundField的ItemStyle和HeaderStyle单独指定边框规则:
<asp:BoundField DataField="ActivityDate" HeaderText="Date" DataFormatString="{0:d}" ItemStyle-Width="20%" ItemStyle-HorizontalAlign="Right" ItemStyle-BorderColor="#000000" ItemStyle-BorderWidth="1px" ItemStyle-BorderStyle="Solid" HeaderStyle-BorderColor="#000000" HeaderStyle-BorderWidth="1px" HeaderStyle-BorderStyle="Solid" />排查全局CSS冲突:
页面全局CSS可能重置了表格边框样式(比如table { border-collapse: collapse; }或td { border: none; }),可以给GridView添加自定义CSS类,强制设置边框规则:.grid-with-lines table { border-collapse: separate !important; } .grid-with-lines td, .grid-with-lines th { border: 1px solid #000000 !important; }然后在GridView标签中添加
CssClass="grid-with-lines"。检查渲染后的HTML样式:
用浏览器开发者工具(F12)查看生成的<table>和<td>元素,确认是否有CSS属性覆盖了边框设置(比如border-left: none),针对性调整对应样式。
内容的提问来源于stack exchange,提问作者TC_Guy
相关产品推荐
相关产品推荐

