.aspx页面代码:
<asp:Button CssClass="buttonnew60" ID="selAll" runat="server" Text="全选" OnClick="selAll_Click" />
<asp:Button CssClass="buttonnew60" ID="selUn" runat="server" Text="反选" OnClick="selUn_Click" />
<asp:Button CssClass="buttonnew60" ID="delSome" runat="server" Text="删除所选" OnClick="delSome_Click" />
<asp:GridView ID="citysList" AllowPaging="True" PageSize="10" BackColor="White" Width="98%" BorderWidth="0px" runat="server" AutoGenerateColumns="False" OnPageIndexChanging="citysList_PageIndexChanging">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<tr>
<td style="height:25px;"><div style="float:left; margin-left:10px;">
<asp:CheckBox ID="CheckBox1" runat="server" />
每行标题
</td>
</tr>
<tr>
<td style="height:1px;border-bottom:1px solid #C7D6E9;"></td>
</tr>
</ItemTemplate>
<ItemStyle BackColor="White" Width="0px" />
</asp:TemplateField>
</Columns>
<PagerStyle Font-Bold="False" BackColor="White" Font-Size="12px" ForeColor="green" HorizontalAlign="Center" />
<PagerSettings FirstPageText="&nbsp;&nbsp;第一页&nbsp;&nbsp;" LastPageText="&nbsp;&nbsp;最后页 &nbsp;&nbsp;"
Mode="NextPreviousFirstLast" NextPageText="&nbsp;&nbsp;下一页&nbsp;&nbsp;"
PreviousPageText="&nbsp;&nbsp;上一页&nbsp;&nbsp;" />
</asp:GridView>
.aspx.cs后台代码:
protected void selAll_Click(object sender, EventArgs e)
{
foreach (GridViewRow gvr in citysList.Rows)
{
((CheckBox)gvr.FindControl("CheckBox1")).Checked = true;
//全选:将所有CheckBox的Checked设为true
}
}
protected void selUn_Click(object sender, EventArgs e)
{
foreach (GridViewRow gvr in citysList.Rows)
{
((CheckBox)gvr.FindControl("CheckBox1")).Checked
= !((CheckBox)gvr.FindControl("CheckBox1")).Checked;
//反选:将所有CheckBox的Checked设为其本身:非值
}
}
protected void delSome_Click(object sender, EventArgs e)
{
for (int i = 0; i < Convert.ToInt32(citysList.Rows.Count); i++)
{
if (((CheckBox)citysList.Rows[i].FindControl("CheckBox1")).Checked == true)
{
string yId = ((Label)citysList.Rows[i].FindControl("idlab")).Text;
DB db = new DB();
db.SetCommand("UPDATE citys_t SET del=1 WHERE yId=@yId");
db.AddSqlParameter(new System.Data.SqlClient.SqlParameter("@yId", yId));
db.ExecuteNonQuery();
db.Dispose();
//删除所选的:当CheckBox的Checked为true时删除
}
}
this.loadCitys();
//重新读列表付给GridView
}
必须注意的:
在Page_Load中必须对IsPostBack进行判断,不然每次Page_Load后CheckBox的Checked会被重置,因此我们要添加以下代码
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.loadCitys();
}
}
然而这样的话分页就会出问题,因此我们在分页处必须让其重新this.loadCitys()绑定数据
protected void citysList_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
this.loadCitys(); //就是多添上这一句
this.citysList.PageIndex = e.NewPageIndex;
this.citysList.DataBind();
}
如果给你带来帮助,欢迎微信或支付宝扫一扫,赞一下。

