Это основано на решении, предложенном Ashish Patil с некоторыми изменениями, чтобы очистить флажок в строке заголовка, когда любой из флажков в строках сетки не отмечен.
В GridView создайте столбец шаблона:
<asp:templatefield>
<headertemplate>
<asp:CheckBox ID="chkSelectAll" cssclass="chkHeader" runat="server" />
</headertemplate>
<itemtemplate>
<asp:CheckBox ID="chkSelect" cssclass="chkItem" runat="server"/>
</itemtemplate>
</asp:templatefield>
jquery-скрипт, поместите его в $ (документ). Например, уже:
var headerChk = $(".chkHeader input");
var itemChk = $(".chkItem input");
headerChk.click(function () {
itemChk.each(function () {
this.checked = headerChk[0].checked; })
});
itemChk.each(function () {
$(this).click(function () {
if (this.checked == false) { headerChk[0].checked = false; }
})
});