如何显示和隐藏GridView的内部列

本文关键字:GridView 隐藏 内部 何显示 显示 | 更新日期: 2023-09-27 18:02:23

我有一个GridView嵌套如下:

<asp:GridView ID="gvEmpNew" runat="server" AutoGenerateColumns="false" BackColor="White"
                                    BorderColor="#E9ECEF" BorderStyle="None" BorderWidth="1px" CellPadding="4" ForeColor="Black" ShowFooter="true"
                                    GridLines="None" EmptyDataText="There are no data records to display." OnRowDataBound="gvEduTrainingExp_RowDataBound"
                                    Width="970px">
                                    <Columns>
                                       <asp:TemplateField ItemStyle-CssClass="gridViewCellCenter" HeaderStyle-CssClass="headerStyle" >
                                            <ItemTemplate>
                                                <a href="javascript:expandcollapse('div<%# Eval("empid") %>', 'two');"> 
                                                    <img id="imgdiv<%# Eval("empid") %>" alt="Click to show/hide Details for Education Information <%# Eval("empid") %>"
                                                        width="15px" border="0" src="../images/plus.gif" title="Education" />
                                                </a>
                                            </ItemTemplate>
                                        </asp:TemplateField>
                                        <asp:TemplateField ItemStyle-CssClass="gridViewCellCenter" HeaderStyle-CssClass="headerStyle" >
                                            <ItemTemplate>
                                               <div></div>
                                            </ItemTemplate>
                                        </asp:TemplateField>
<asp:TemplateField>
                                            <ItemTemplate>
                                                <tr>
                                                    <td colspan="100%">
                                                        <div id="div<%# Eval("empid") %>" style="display:none; position: relative;
                                                            left: 10px; width: 100%"> 
<asp:GridView ID="GridViewChildEducation" runat="server" AutoGenerateColumns="False" 
                                                                BackColor="White" BorderColor="#E9ECEF" BorderStyle="None" BorderWidth="1px"
                                                                CellPadding="4" ForeColor="Black" GridLines="None" EmptyDataText="">
                                                                <Columns>
                                                                    <asp:TemplateField HeaderText="EXAM TITLE">
                                                                        <ItemTemplate>
                                                                            <asp:Label ID="lblEXAM_TITLE" runat="server" Text='<%# Eval("EXAM_TITLE") %>'></asp:Label>
                                                                        </ItemTemplate>
                                                                    </asp:TemplateField>
                                                                    <asp:TemplateField HeaderText="EDUCATION LEVE LNAME" >
                                                                        <ItemTemplate>
                                                                            <asp:Label ID="lblEDUCATIONLEVELNAMEChild" runat="server" Text='<%# Eval("EDUCATIONLEVELNAME") %>'></asp:Label>
                                                                        </ItemTemplate>
                                                                    </asp:TemplateField>
</Columns>
                                                                <HeaderStyle CssClass="headerStyle" />
                                                                <RowStyle CssClass="rowStyle" />
                                                                <AlternatingRowStyle CssClass="alternatingRowStyle" />
                                                            </asp:GridView>
</Columns>
                                    <HeaderStyle CssClass="headerStyle" />
                                    <RowStyle CssClass="rowStyle" />
                                    <AlternatingRowStyle CssClass="alternatingRowStyle" />
                                </asp:GridView>

我想隐藏一个名为GridViewChildEducation的GridView。我试过这个代码:

GridViewChildEducation.Columns[1].Visible = false;

它告诉我GridViewChildEducation这个名字在当前上下文中不存在。我需要一种方法来隐藏或显示任何列这个'GridViewChildEducation' GridView

如何显示和隐藏GridView的内部列

你不能用:GridViewChildEducation.Style.Visibility ="隐藏";GridViewChildEducation.Style.Display ="没有";

或者为隐藏添加一个CSS类,为可见添加一个CSS类,然后按此路径执行。

我有点困惑,虽然-你只是想隐藏一个列,还是整个视图?