在我的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>
`
答案 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;
有了这个,列也被隐藏了,我仍然可以在后面的代码中访问它。