У меня есть gridview, который содержит 2 coulmns с флажками. У меня есть один заголовочный столбец с флажком «Утвердить все», а другой - «Отклонить все». Когда я нажимаю на любой из флажков, все дочерние флажки, присутствующие в этом gridview, проверяются, но я хочу, чтобы флажки были отмечены только этими конкретными столбцами. Пожалуйста, помогите:Выбрать все CheckBoxes в определенном столбце в GridView (asp.net)
<script type="text/javascript" language="javascript">
function checkAll(objRef) {
var GridView = objRef.parentNode.parentNode.parentNode;
var inputList = GridView.getElementsByTagName("input");
for (var i = 0; i < inputList.length; i++) {
var row = inputList[i].parentNode.parentNode;
if (inputList[i].type == "checkbox" && objRef != inputList[i]) {
if (objRef.checked) {
row.style.backgroundColor = "#c3d9ff";
inputList[i].checked = true;
}
else {
if (row.rowIndex % 2 == 0) {
row.style.backgroundColor = "#c3d9ff";
}
else {
row.style.backgroundColor = "white";
}
inputList[i].checked = false;
}
}
}
}
</script>
<asp:GridView ID="gvDetails" runat="server" AlternatingRowStyle-CssClass="myGridAlternatingItemStyle" Width="98%" Height="500px" AllowPaging="false" ShowFooter="false" AutoGenerateColumns="False" >
<FooterStyle CssClass="myGridTextItem" />
<RowStyle CssClass="myGridTextItem"/>
<SelectedRowStyle CssClass="myGridSelectedItemStyle"/>
<%-- <HeaderStyle CssClass="myGridHeader" />--%>
<AlternatingRowStyle CssClass="myGridAlternatingItemStyle" />
<HeaderStyle CssClass="GVFixedHeader" />
<Columns>
<!-- I have few Data columns here -->
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="checkAll" Text="Approve All" TextAlign="Left" runat="server" onclick="checkAll(this);" />
</HeaderTemplate>
<HeaderStyle CssClass="myGridHeader" ForeColor="White" HorizontalAlign="Center" Width="90px" />
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<asp:CheckBox ID="CheckApprove" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="RejAll" Text="Reject All " TextAlign="Left" runat="server" onclick="checkAll(this);" />
</HeaderTemplate>
<HeaderStyle CssClass="myGridHeader" ForeColor="White" HorizontalAlign="Center" Width="80px" />
<ItemStyle HorizontalAlign="Center" />
<ItemTemplate>
<asp:CheckBox ID="CheckReject" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Этот URL может помочь вам [http://www.codeproject.com/Articles/11207/Selecting -multiple-checkboxes-inside-a-GridView-co] – Sri
Почему вы используете один флажок для одобрения всех и другого для отклонения всех? Разве это не работало бы с одним? Вы измените текст на checkAll в зависимости от того, проверен он или нет. Это просто мысль ... –