GridView中checkbox实现全选[转]

 

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" PageSize="5"Width="726px" AllowPaging="True" AllowSorting="True"DataKeyNames="DB1_1,DB1_2"  OnRowDeleting="GridView1_RowDeleting"  OnPageIndexChanging="GridView1_PageIndexChanging" OnRowDataBound="GridView1_RowDataBound" OnSorting="GridView1_Sorting" Height="279px" >
<Columns>
<asp:TemplateField HeaderText="序号" >
<ItemTemplate>
<%this.GridView1.PageIndex * this.GridView1.PageSize + this.GridView1.Rows.Count + 1%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="选择" >
<ItemTemplate>
<asp:CheckBox ID="chkSelect" runat="server" >
</asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="操作" ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="lbtnDelete" runat="server" CausesValidation="False" CommandName="Delete"
Text
="删除" OnClientClick="return confirm('确认要删除吗?');"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<AlternatingRowStyle BackColor="Aquamarine" />
</asp:GridView>

 

 

<asp:CheckBox ID="chkSelectAll" runat="server" Text="全部选中" OnCheckedChanged="chkSelectAll_CheckedChanged" AutoPostBack="True" ></asp:CheckBox>
<asp:Button ID="btnDelete" runat="server" Text="删除" OnClick="btnDelete_Click" />

 

 

 

protected void btnDelete_Click(object sender, EventArgs e)
{
string strDelete = "";
for (int i = 0; i < this.GridView1.Rows.Count; i++)
{
string Label;
bool isChecked = ((CheckBox)GridView1.Rows[i].FindControl("chkSelect")).Checked;
Label 
= ((Label)GridView1.Rows[i].FindControl("labXH")).Text;
if (isChecked)
{
strDelete 
= "DB1_1" + "=" + Label;
}
}
conn.RunSql(
"Delete from DB1 where " + strDelete
this.chkSelectAll.Checked = false;
GridViewBind();
}

protected void chkSelectAll_CheckedChanged(object sender, EventArgs e)
{
//遍历GridView行获取CheckBox属性
for (int i = 0; i < this.GridView1.Rows.Count; i++)
{
((CheckBox)GridView1.Rows[i].FindControl(
"chkSelect")).Checked = this.chkSelectAll.Checked;
}
}

 

 

 

posted @ 2010-03-05 10:38  Zoya Qiu  阅读(258)  评论(0编辑  收藏  举报