【问题标题】:asp.net datagrid borders appear different (bad) in other browsersasp.net datagrid 边框在其他浏览器中显示不同(坏)
【发布时间】:2011-03-25 12:01:30
【问题描述】:

嘿,我知道页面在不同的浏览器中看起来会有所不同,但我的页面在 Chrome 中看起来很棒,在 mozilla 中还可以,在 IE 7 中非常糟糕。

遗憾的是,大多数使用我的页面的人都会使用 IE。

我的问题是边框。我在网格的行周围有一个红色的边框。在 chrome 中,它们都按应有的方式显示。在 Firefox 中,每行的底部和顶部以及外部列的右侧和左侧都可以正常工作,但所有内部列都没有垂直边框。

在 IE 中,所有边框都丢失了。我的列和行之间只有白色的间隙。

如果你们能给我提供任何提示或技巧,我将不胜感激。

编辑:

  <asp:GridView ID="ProductsGrid" runat="server" 
        AutoGenerateColumns="False" Height="323px" 
        style="margin-top: 23px; margin-left: 0px;" BackColor="White" 
        BorderStyle="None" BorderWidth="0px" CellPadding="4"
        Width="1210px" OnPageIndexChanging="gridView_PageIndexChanging"
        onrowdatabound="ProductsGridView_RowDataBound" AllowPaging="True"
        PageSize="25">

        </Columns>
        <EmptyDataRowStyle BackColor="Gray" />
        <FooterStyle BackColor="#FFFFCC" ForeColor="#330099" />
        <HeaderStyle BackColor="Black" Font-Bold="True" ForeColor="White" />
        <PagerStyle BackColor="#FFFFCC" ForeColor="#330099" HorizontalAlign="Center" />
        <RowStyle ForeColor="#330099" BackColor="White" BorderColor="#6E1414" 
            BorderWidth="1px" />
        <SelectedRowStyle BackColor="#FFCC66" Font-Bold="True" ForeColor="#663399" />
        <SortedAscendingCellStyle BackColor="#FEFCEB" />
        <SortedAscendingHeaderStyle BackColor="#AF0101" />
        <SortedDescendingCellStyle BackColor="#F6F0C0" />
        <SortedDescendingHeaderStyle BackColor="#7E0000" />
    </asp:GridView>

【问题讨论】:

    标签: asp.net css internet-explorer gridview google-chrome


    【解决方案1】:

    尝试将GridLines 属性添加到您的GridView

    <asp:GridView ID="ProductsGrid" runat="server" GridLines="None" ...
    

    您可以将属性设置为NoneBothHorizontalVertical。您应该能够使用 GridLines 属性使其按您的意图工作。

    编辑:我想我已经按照您的要求工作了。请尝试以下操作:

    创建 CSS 样式:

    <style type="text/css">
        .yourRowStyle td
        {
            border: solid 1px #6E1414;
        }
    </style>
    

    然后将您的RowStyle 替换为:

    <RowStyle CssClass="yourRowStyle" ForeColor="#330099" BackColor="White" />
    

    还要确保将GridView 设置为GridLines="None"

    我对其进行了测试,虽然我不确定您希望它是什么样子,但它应该可以工作。您可以 Css 将覆盖 GridViews 的怪癖。

    【讨论】:

    • 感谢您的回复,并且我一直在使用 GridLines 属性,但我仍然遇到 IE 问题。如果我将 GridLines 设置为无,则 IE 中根本没有边框。如果将其设置为两者,则边框为白色。我在 .net 和 c# 中设置边框(使用数据网格的数据绑定)时尝试了这两种设置,并且遇到了同样的问题。任何其他提示或我可能会丢失的东西?再次,谢谢。我将继续使用此属性。
    • @PFranchise 更新了我的答案。我已经对其进行了测试,它应该专门解决​​您在 IE7 中的问题。我使用 IE,所以我使用&lt;meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" /&gt; 标签来模拟 IE7。希望真正的 IE7 也能以同样的方式工作。
    • 你先生真棒。非常感谢,它完美运行。祝你有美好的一天!
    • @PFranchise 很高兴我能帮上忙。过去这让我很沮丧,所以我确切地知道你正在经历什么,我只需要记住我是如何解决它的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-03-09
    • 1970-01-01
    • 2013-11-07
    • 2011-01-06
    • 2012-09-12
    • 2011-07-13
    • 2021-12-08
    相关资源
    最近更新 更多