【问题标题】:GridView css Clashing with BoundField cssGridView css与BoundField css冲突
【发布时间】:2016-04-06 07:28:37
【问题描述】:

在我的 GridView 中,我使用的是 w3schools css。在网格视图中,我想隐藏一列(BoundField),但不是通过设置“Visible = false”,因为我想访问该列数据。

对于 BoundField(我要隐藏的列),我使用 css 通过给出“”和 HeaderStyle-cssClass="hidden" 来隐藏它。

当我在网格视图中应用 w3schools css 时,它会覆盖 BoundField 中的 css。

如果我删除 w3schools css,那么 BoundField css 可以正常工作,但我失去了 GridView 设计。

我怎样才能让这两个 css 一起工作?如果不可能,那么如何在不使用“Visible = false”的情况下隐藏该列。

给出下面的代码。 在头部: <script type="text/css"> .hiddenGV { display:none; } </script>

在正文部分

`<asp:GridView ID="GridView1" runat="server" class="w3-table w3-striped w3-bordered w3-card-4 gridtop"  OnSelectedIndexChanged="GridView1_SelectedIndexChanged" AutoGenerateColumns="False" DataKeyNames="Project_ID,Instance_ID" DataSourceID="SqlDataSource1">
        <Columns>
            <asp:BoundField DataField="Project_ID" HeaderText="Project_ID" ReadOnly="True" SortExpression="Project_ID" HeaderStyle-CssClass="hiddenGV" ><ItemStyle CssClass="hiddenGV"/></asp:BoundField>

`

【问题讨论】:

    标签: c# css asp.net gridview boundfield


    【解决方案1】:

    这里有几件事不对。您在头部的 css 类不正确,因为它应该在样式标签中。在 BoundField 中不需要添加 ItemStyle 标签,因为 ItemStyle 是 BoundField 的一个属性。要隐藏列并仍然能够访问该值,请在头部使用此 css

       <style type="text/css">
          .hiddenGV
          {
            visibility :hidden;
          }
        </style>
    

    然后在 BoundField 中为标题和数据行设置 css,如下所示:

      <asp:BoundField DataField="Project_ID" HeaderText="Project_ID" ReadOnly="True" SortExpression="Project_ID" ItemStyle-CssClass="hiddenGV"  HeaderStyle-CssClass="hiddenGV"/></asp:BoundField>
    

    【讨论】:

    • 嗨,我使用了你的解决方案,它正在工作。感谢您指出
    【解决方案2】:

    我通过编写代码而不是 css 解决了这个问题。

    我使用了 GridView 的 OnRowCreated 属性函数,并通过使用选择了行

    e.Row.Cells[0].Visible = false;
    

    有了这个,该列也被隐藏了,我仍然可以在后面的代码中访问它。

    【讨论】:

      猜你喜欢
      • 2021-07-02
      • 2012-04-28
      • 2011-10-24
      • 2012-02-11
      • 2019-12-24
      • 2014-03-10
      • 1970-01-01
      • 1970-01-01
      • 2015-11-17
      相关资源
      最近更新 更多