我在VS 2019中创建了一个应用程序aps.net c#
我有一个网格视图,在列标题中有一个复选框。一旦用户点击了一个单独的按钮来显示,我想验证列标题中的复选框“chkALL”,看看它是否被选中。我似乎无法获得正确的语法来做到这一点。请提供任何建议?
我的ASPX代码在这里:<asp:TemplateField HeaderText="Chg"><asp:CheckBox ID="ChkAll" runat="server" AutoPostBack="true" OnCheckedChanged="ChkAll_CheckedChanged" /><asp:CheckBox ID="ChkRow" runat="server" AutoPostBack="true" OnCheckedChanged="ChkRow_CheckedChanged" RowIndex="<%# Container.DataItemIndex %>" /></asp:TemplateField>
这是我尝试过的C#代码
CheckBox chkbox =(CheckBox)tgvCorrelations.Column[13].FindControl(“chkAll”);
2条答案
按热度按时间vyswwuz21#
获取/使用和享受标题中复选框的价值?
可以对GridView. HeaderRow使用查找控件。
所以,假设这个标记:
字符串
因此,当我们点击按钮加载GridView时,我们将获得标题中复选框的值,并将所有行设置为选中(或未选中)。
所以,加载网格的代码看起来像这样:
型
注意非常接近,当我们重新绑定GridView时,复选框的设置丢失。所以,如果我们重新绑定GridView,但也尊重复选框,那么我们获取/抓取/保存复选框,重新加载网格,然后将复选框重新设置回标题。(当我们重新绑定时,值为LOST,因此上面的代码考虑到了这一点)。
请注意,在网格加载后,您可能仍然希望通过单击标题来选中所有(或取消选中所有)。该代码稍微简单一些,因为我们可以使用“sender”来获取所讨论的复选框。
因此,该代码是:
型
然而,上面的代码存根会并且可以使用GridView头对象的.FindControl,但是使用sender是更少的代码。
结果是这样的:
x1c 0d1x的数据
vngu2lb82#
您需要创建一个函数,以便在触发复选框的事件更改时使用
所以这个void写着:
字符串