跟你说下思路:
1:获取CheckBox的选中值可以使用脚本来获取
$("input[type='CheckBox ']").each(function(){
if($(this).attr("checked")==true){
var ck_val=$(this).val();// 选中的值
}
});
2:根据获取到的id执行后台方法开始批量删除
//dgvProductInfo.Rows[i].Cells["Column8"]是CHECKBOX,检测所有行的CHECKBOC的属性,记录ID,然后操作就行了,我这里是改变数据库的数据,只供参考,这里只是UI层代码
int s = 0;
for (int i = 0; i < dgvProductInfo.Rows.Count; i++)
{
if (dgvProductInfo.Rows[i].Cells["Column8"].EditedFormattedValue.ToString() == "True")
{
try
{
WareHouse.Model.T_Product pro = new T_Product();
pro.ProductID = Convert.ToInt32(dgvProductInfo.Rows[i].Cells["ProductID"].Value.ToString());
pro.ProductName = dgvProductInfo.Rows[i].Cells["name"].Value.ToString();
pro.ProductCode = dgvProductInfo.Rows[i].Cells["code"].Value.ToString();
pro.ClassID = Convert.ToInt32(dgvProductInfo.Rows[i].Cells["classid"].Value.ToString());
pro.Unit = dgvProductInfo.Rows[i].Cells["unity"].Value.ToString();
pro.MinQty = Convert.ToDecimal(dgvProductInfo.Rows[i].Cells["min"].Value.ToString());
pro.MaxQty = Convert.ToDecimal(dgvProductInfo.Rows[i].Cells["max"].Value.ToString());
pro.Remark = dgvProductInfo.Rows[i].Cells["remark"].Value.ToString();
pro.ModifyDate = System.DateTime.Now;
pro.Status = true;
pro.ModifyDate = DateTime.Now;
if (product.Update(pro))
{
s += 1;
}
else
{
MessageBox.Show("修改失败");
}
}
catch
{
MessageBox.Show("修改失败");
}
}
}
if (s != 0)
{
MessageBox.Show("启用成功");
dgvProductInfo.DataSource = WareHouse.BLL.T_Product.GetModel(txt_scode.Text, txt_sname.Text, cmb_sclassname.Text).Tables[0].DefaultView;
}
$("#btn").click(function(){
var str="";
$("[name='checkbox'][checked]").each(function(){
str+=$(this).val()+",";
})
alert(str.substring(0,str.length-1));
})
alert出来的就是选择id的字符串,你再传出去,分割成id数组就行了
})
Action里面:
private PromotionManageTo promotionManageTo;
private List
get…
set…
SqlMaps里面:
JSP里面:
"
你是获取不到id的数据还是怎么无法删除》?