如何隐藏Gridview

时间:2016-03-10 13:18:05

标签: javascript c# asp.net gridview

我有两个链接按钮lnkbtn_upcoming和lnkbtn_previous,当任何链接按钮点击意味着复选框应该隐藏。下面是我的网格视图代码:

<asp:GridView ID="Employeedob" runat="server" AutoGenerateColumns="False" GridLines="None" CssClass="mGrid"
           ShowHeader="False" OnRowDataBound="Employeedob_RowDataBound1">
           <Columns>


    <asp:TemplateField>
<ItemTemplate>
    <span class="name">
        <asp:Label ID="lbl_Ename" Width="150px" runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.EmpName") %>'></asp:Label></span>
    <asp:Label ID="lbl_Depart" runat="server" Text='<%# DataBinder.Eval  (Container, "DataItem.CompanyName") %>'>

    </asp:Label>
</ItemTemplate>

 </asp:TemplateField>
   <asp:TemplateField Visible="False">
<ItemTemplate>
    <asp:Label ID="lbl_Email" runat="server" Text='<%# DataBinder.Eval (Container, "DataItem.EmailId") %>'>

    </asp:Label>
</ItemTemplate>
    </asp:TemplateField>
     <asp:TemplateField Visible="False">
<ItemTemplate>
    <asp:Label ID="lbl_Depart2" runat="server" Text='<%# DataBinder.Eval (Container, "DataItem.Department") %>'>

    </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
    <ItemTemplate>
    <asp:CheckBox ID="CheckBox2" runat="server"  />

</ItemTemplate>
    </asp:TemplateField>
           </Columns>
           <FooterStyle HorizontalAlign="Center" />
           <RowStyle HorizontalAlign="Left" VerticalAlign="Top" />
           <EmptyDataTemplate>
    <center>
      <asp:Label ID="Label12" runat="server" Text="No Birthday avaliable"
  ForeColor="Red"></asp:Label>
      </center>
           </EmptyDataTemplate>
       </asp:GridView>

我的链接按钮设计代码:

  <ul class="pagination pull-right" style="margin: 0px;">
                                    <li>
                                        <asp:LinkButton ID="lnkbtn_Previous"
                                            runat="server"
                                            CssClass="btn btn-primary"
                                            OnClick="lnkbtn_Previous_Click">
<span aria-hidden="true" class="glyphicon glyphicon-chevron-left"></span>
                                        </asp:LinkButton></li>
                                    <li>

                                        <asp:LinkButton ID="lnkbtn_Upcoming"
                                            runat="server"
                                            CssClass="btn btn-primary"
                                            OnClick="lnkbtn_Upcoming_Click">
<span aria-hidden="true" class="glyphicon glyphicon-chevron-right"></span>
                                        </asp:LinkButton></li>
                                </ul>

我正在尝试链接按钮lnkbtn_upcoming和lnkbtn_previous,当任何链接按钮点击意味着复选框应该隐藏。当任何链接按钮单击时,复选框应隐藏或不显示。

2 个答案:

答案 0 :(得分:0)

如果我错了,请纠正我,但是我会假设您想要在点击lnkbtn_Previous或lnkbtn_Upcoming时隐藏GridView的所有复选框。

客户端

我会用JQuery在Javascript中定义。

首先在复选框中添加一个类:

    <asp:CheckBox ID="CheckBox2" runat="server" CssClass="hide-on-click" />

然后,添加一个javascript函数来隐藏/显示复选框:

    function toggleCheckboxes(show) {
        // this jquery retrieves an array of 
        // DOM elements with class hide-on-click
        var checkboxes = $('.hide-on-click');
        // look for jQuery API, there must be a function
        // that takes a bool as show/hide parameter
        if (show) checkboxes.show();
        else checkboxes.hide();
    }

最后,在您的javascript lnkbtn_Upcoming_Click()lnkbtn_Previous_Click()函数中,调用上面的函数。

服务器端

这应该避免,因为它需要服务器往返(回发),但是你可能想知道如何定位特定的复选框,因为它只有一个ID而且会重复。

如果您想为您的复选框生成涉及唯一ID的客户端代码(javascript):

  • 转到或生成GridView_RowDataBound方法
  • 取回复选框:var cb = e.Row.FindControl("CheckBox2");
  • 使用其ClientID字段针对Javascript / jQuery / CSS进行定位:var domId = cb.ClientID;

答案 1 :(得分:0)

我可以在LinkBut​​ton点击事件中隐藏Checkbox:

   protected void lnkbtn_Previous_Click(object sender, EventArgs e)
   {
       foreach (GridViewRow row in Employeedob.Rows)
       {
       var chk = row.FindControl("CheckBox2") as CheckBox;
       chk.Visible = false;
       }
   }