2016-08-14 3 views
0

У меня есть GridView с одной вложенной GridView следующим образом:Как показать и скрыть внутреннюю 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> 

Я хочу, чтобы скрыть один из GridView имени GridViewChildEducation. Я попробовал этот код:

GridViewChildEducation.Columns[1].Visible = false; 

Это показывает мне, что имя GridViewChildEducation не существует в текущем контексте. Мне нужен способ скрыть или показать любой столбец этого «GridViewChildEducation» GridView

ответ

0

Не могли бы вы использовать: GridViewChildEducation.Style.Visibility = "hidden"; GridViewChildEducation.Style.Display = "none";

или скрыть класс CSS для скрытых и один для видимого, и пойти по этому маршруту.

Я немного запутался - вы только пытаетесь скрыть один столбец или весь вид?

Смежные вопросы