GridView css与BoundField css发生冲突

时间:2016-04-06 07:28:38

标签: c# css asp.net gridview boundfield

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

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

当我在网格视图中应用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>

`

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

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

我使用了GridView的OnRowCreated属性函数,并使用

选择了该行
e.Row.Cells[0].Visible = false;

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