要批量删除的话,一般就是设置一下gridview的样式,在每一行上放入一个复选框,选中哪个复选框就删除哪行。
protected void btnAll_Click(object sender, EventArgs e)
{
//全选用
int rowchk = grdMyCart.Rows.Count;
if (btnAll.Text == "全 选")
{
btnAll.Text = "全不选";
for (int i = 0; i < rowchk; i++)
{
CheckBox chk = (CheckBox)grdMyCart.Rows[i].FindControl("chSeclect");
chk.Checked = true;
}
}
else
{
btnAll.Text = "全 选";
for (int i = 0; i < rowchk; i++)
{
CheckBox chk = (CheckBox)grdMyCart.Rows[i].FindControl("chSeclect");
chk.Checked = false;
}
}
}
protected void btnDel_Click(object sender, EventArgs e)
{
//////-------删除产品信息---------
ArrayList rowCel = new ArrayList();
int rowCount = grdMyCart.Rows.Count;
//循环得到选中产品的编号
for (int i = 0; i < rowCount; i++)
{
CheckBox chDel = (CheckBox)grdMyCart.Rows[i].FindControl("chSeclect");
if (chDel.Checked == true)
{
rowCel.Add(grdMyCart.Rows[i].Cells[1].Text);
}
}
//调用数据访问类的删除方法
if (rowCel.Count > 0)
{
int resault = Delcardata(rowCel);
lblMessage.Text = "成功删除了 " + resault + " 条记录!";
}
else
{
Response.Write("");
}
//重新读取购物车信息
displayData();
}
这是我以前找到过的代码片段,你看看
我也刚做完这样类似的一个功能
我的第一列存储ID,以下的代码,表面看是删除一条记录,其实是可以删除所有选中的数据行:
private void DataMonitorPoint_UserDeletingRow(object sender, DataGridViewRowCancelEventArgs e)
{
try
{
//ISDelete = true;
string PointID = e.Row.Cells[0].Value.ToString();//捕捉选中的ID,
string SqlDelete = "Delete * from DTS_MONITOR_POINT where ID=" + PointID;
DbHelperOleDb.ExecuteSql(SqlDelete);
}
catch
{
}
}
dg_zcdw.SelectedRows[0].Cell[0].Value
dg_zcdw.SelectedRows[1].Cell[1].Value
public static int DeleteAssetState(List
{
string ids = string.Join(",",asa);
string sql = "delete AssetState where A_zcztid IN (" + ids + ")";
return DBHelpSQL.ExecuteCommand(sql);
}