前端:.apx
首先:设置GridView的DataKeyNames属性字段为数据表的主键
<asp:GridView ID="gv_ReviewOption" runat="server" AutoGenerateColumns="False"
DataKeyNames="ReviewOptionID" />
在GridView中添加一模板列:
<asp:TemplateField HeaderText="选择" ItemStyle-Width="60px">
<ItemTemplate>
<asp:CheckBox ID="cb_ReviewOption" runat="server" />
</ItemTemplate>
<ItemStyle Width="60px"></ItemStyle>
</asp:TemplateField>
在GridView外部加全选或不选按钮:
前端:<asp:Button ID="btn_SelectedAll" runat="server" Text="全选"
onclick="btn_SelectedAll_Click" />
<asp:Button ID="btn_SelectedNone" runat="server" Text="取消"
onclick="btn_SelectedNone_Click" />
后台:实现遍历全选或一个都不选
protected void btn_SelectedAll_Click(object sender, EventArgs e)
{
foreach (GridViewRow gvr in gv_ReviewOption.Rows)
{
CheckBox cb = gvr.FindControl("cb_ReviewOption") as CheckBox;
cb.Checked = true;
}
}
protected void btn_SelectedNone_Click(object sender, EventArgs e)
{
foreach (GridViewRow gvr in gv_ReviewOption.Rows)
{
CheckBox cb = gvr.FindControl("cb_ReviewOption") as CheckBox;
cb.Checked = false;
}
}
GridView外部按钮删除一行或多行数据:
前端:<asp:Button ID="btn_Del" runat="server" Text="删除"
OnClientClick="return confirm('确定要删除吗?')" onclick="btn_Del_Click"/>
后台代码:实现选中行的删除功能
protected void btn_Del_Click(object sender, EventArgs e)
{
int number = 0;
for (int i = 0; i < gv_ReviewOption.Rows.Count; i++)
{
CheckBox cb = (gv_ReviewOption.Rows[i].FindControl("cb_ReviewOption")) as CheckBox;
if (cb.Checked)
{
using (SqlConnection conn = new SqlConnection(sConnectionString))
{
conn.Open();
{
using (SqlCommand cmd = new SqlCommand("delete from tbReviewOption where ReviewOptionID='" + gv_ReviewOption.DataKeys[i].Value + "'", conn))
{
number = number + cmd.ExecuteNonQuery();
}
}
}
}
}
Page.ClientScript.RegisterStartupScript(this.GetType(), "", string.Format("<script>alert('{0}条记录成功删¦除')</script>", number));
SetBind();
}