2
我正在使用gridview標題中的複選框來選擇gridview中的所有記錄。這是方法背後的代碼。使用GridView標題中的複選框選擇所有Gridview記錄
<asp:GridView ID="gvP" runat="server" AutoGenerateColumns="false" AllowPaging="false"
AllowSorting="false" DataKeyNames="PmtId" CssClass="list-table" HeaderStyle-CssClass="header"
EnableModelValidation="True">
<Columns>
<asp:BoundField DataField="PmtId" HeaderText="PmtId" ReadOnly="True" Visible="false" />
<asp:TemplateField HeaderText="All" ItemStyle-CssClass="checkbox-col" HeaderStyle-CssClass="checkbox-col">
<HeaderStyle HorizontalAlign="Center" />
<HeaderTemplate>
<input id="chkBoxAll" type="checkbox" onclick='javascript:checkAllBoxes("CLEAR_PT")' />
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox runat="server" ID="chkSelect" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="S/No." ItemStyle-CssClass="seq-col" HeaderStyle-CssClass="seq-col">
<ItemTemplate>
<%# Eval("SNo")%>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
protected void chkSelectAll(string arg)
{
if (arg.Equals("CLEAR_PT"))
{
CheckBox chkAll = gvP.HeaderRow.FindControl("chkBoxAll") as CheckBox;
if (chkAll.Checked == true)
{
foreach (GridViewRow gvRow in gvP.Rows)
{
CheckBox chkSel = (CheckBox)gvRow.FindControl("chkSelect") as CheckBox;
chkSel.Checked = true;
}
}
else
{
foreach (GridViewRow gvRow in gvP.Rows)
{
CheckBox chkSel = (CheckBox)gvRow.FindControl("chkSelect") as CheckBox;
chkSel.Checked = false;
}
}
}
}
我得到「未將對象引用設置到對象的實例」在下面的行運行時錯誤。
if (chkAll.Checked == true)
任何想法?
你能提供你的gridview aspx代碼嗎? – 2012-02-27 02:40:55
以上更新。請立即檢查。 – Roshe 2012-02-27 02:45:46