asp.net的GridView checkall和uncheckall在一个头复选框 [英] asp.net gridview checkall and uncheckall in a single header checkbox
问题描述
我使用的是低于code管理gridview的所有检查并取消所有在一个头复选框。我能找到头复选框状态grid.rows [0] .cells [0] .checked总是返回undefined。请帮我做到这一点。
函数checkAll(){ 变种格=的document.getElementById(&下;%= grd_chq_pending.ClientID%gt;中); 如果(grid.rows.length大于0){
对于(i = 1; I< grid.rows.length;我++){
细胞= grid.rows [I] .cells [0]; 为(J = 0; J< cell.childNodes.length; J ++){
//如果childNode类型复选框
如果(cell.childNodes [J]。类型==复选框){
如果(grid.rows [0] .cells [0] .checked == true)而
{
cell.childNodes [J] .checked = FALSE;
}
其他
{
cell.childNodes [J] .checked == TRUE;
}
}
}
} }
}
< ASP:的TemplateField>
<&HeaderTemplate中GT;
< ASP:复选框ID =chkall=服务器的OnChange =checkAll(); />
< / HeaderTemplate中>
<&ItemTemplate中GT;
< ASP:复选框ID =chkSelect=服务器/>
< / ItemTemplate中>
< ItemStyle宽度=20像素/>
< / ASP:的TemplateField>
您可以使用这样的功能。
Java的脚本
函数CheckAll(oCheckbox)
{
变种GridView2 =的document.getElementById(&下;%= GridView2.ClientID%gt;中);
对于(i = 1; I< GridView2.rows.length;我++)
{
GridView2.rows [I] .cells [0] .getElementsByTagName(INPUT)[0] .checked = oCheckbox.checked;
}
}
的GridView
< ASP:GridView控件ID =GridView2=服务器FONT-SIZE =12px的背景色=#FFFFFF
网格线=两者的cellpadding =4的AutoGenerateColumns =false的>
< HeaderStyle背景色=#EDEDEDHEIGHT =26px/>
<柱体和GT;
< ASP:的TemplateField>
<&HeaderTemplate中GT;
<输入ID =Checkbox2类型=复选框的onclick =CheckAll(本)=服务器/>
< / HeaderTemplate中>
<&ItemTemplate中GT;
< ASP:复选框ID =ItemCheckBox=服务器/>
< / ItemTemplate中>
< / ASP:的TemplateField>
< /专栏>
< / ASP:GridView的>
编辑1
详细信息
<一href=\"http://www.$c$cproject.com/Articles/24763/Check-uncheck-CheckBox-in-a-GridView-using-Javascr\">http://www.$c$cproject.com/Articles/24763/Check-uncheck-CheckBox-in-a-GridView-using-Javascr
<一href=\"http://social.msdn.microsoft.com/Forums/pl-PL/netfxjscript/thread/1dc30488-6a9a-465b-a7b1-d1f198906752\">http://social.msdn.microsoft.com/Forums/pl-PL/netfxjscript/thread/1dc30488-6a9a-465b-a7b1-d1f198906752
更多链接
I am using the below code to manage gridview check all and uncheck all in a single header checkbox. I can able to find the header checkbox status grid.rows[0].cells[0].checked always return undefined. Please help me to do this.
function checkAll() {
var grid = document.getElementById("<%= grd_chq_pending.ClientID %>");
if (grid.rows.length > 0) {
for (i = 1; i < grid.rows.length; i++) {
cell = grid.rows[i].cells[0];
for (j = 0; j < cell.childNodes.length; j++) {
//if childNode type is CheckBox
if (cell.childNodes[j].type == "checkbox") {
if(grid.rows[0].cells[0].checked == true)
{
cell.childNodes[j].checked = false;
}
else
{
cell.childNodes[j].checked == true;
}
}
}
}
}
}
<asp:TemplateField>
<HeaderTemplate>
<asp:CheckBox ID="chkall" runat="server" OnChange="checkAll();" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="chkSelect" runat="server" />
</ItemTemplate>
<ItemStyle Width="20px" />
</asp:TemplateField>
You can use function like this
java-script
function CheckAll(oCheckbox)
{
var GridView2 = document.getElementById("<%=GridView2.ClientID %>");
for(i = 1;i < GridView2.rows.length; i++)
{
GridView2.rows[i].cells[0].getElementsByTagName("INPUT")[0].checked = oCheckbox.checked;
}
}
Gridview
<asp:GridView ID="GridView2" runat="server" Font-Size="12px" BackColor="#FFFFFF"
GridLines="Both" CellPadding="4" AutoGenerateColumns="false">
<HeaderStyle BackColor="#EDEDED" Height="26px" />
<Columns>
<asp:TemplateField>
<HeaderTemplate>
<input id="Checkbox2" type="checkbox" onclick="CheckAll(this)" runat="server" />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="ItemCheckBox" runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
Edit 1
Detail Information
http://www.codeproject.com/Articles/24763/Check-uncheck-CheckBox-in-a-GridView-using-Javascr
http://social.msdn.microsoft.com/Forums/pl-PL/netfxjscript/thread/1dc30488-6a9a-465b-a7b1-d1f198906752
More Links
Gridview Checking all checkboxes issue
这篇关于asp.net的GridView checkall和uncheckall在一个头复选框的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!