.net gridview显示这样的效果,批量处理前面打钩的数据,怎么操作
2个回答
展开全部
更新或者删除,是根据是否打钩,然后根据信息ID来删除信息。单单打钩,怎么根据,删除或更新数据库?
你这里要在数据绑定的时候指定当前行的Key为你的 “信息ID”。
比如在一个列里面放入一个HiddenField1控件,然后绑定为你的ID。
以下代码,查找控件的路径不一定适合你,请自己修改成你自己的列、行数据。
foreach (GridViewRow row in gvLog.Rows)
{
//找到控件,确认是否勾选了
if (((CheckBox)row.Cells[0].FindControl("CheckBox1")).Checked)
{
//找到保存的Id,
string id = ((HiddenField)row.Cells[0].FindControl("HiddenField1")).Value.ToString();
//在这里你可进行你想要的操作了
}
}
另外,网上有个自定义控件,就是修改后的GridView,它里面已 集成了你提到功能,可以下回来试试。名字不记得了。
展开全部
循环获取gridview中的CheckBox,通过全选ChenckBox的状态为GridView内的CheckBox赋值!!
更多追问追答
追答
要获取gv内的checkbox
首先声明一个checkbox对象
System.Web.UI.WebControls.CheckBox cbk;
for(int i=0;i<this.gridview.Rows.Count;i++)
{
//获取GridView的行数,通过行数循环获取GridView中的CheckBox控件
foreach(controls ctl in this.gridview.Rows[i].Cells[0].Controls)
{
//这里的Cells[0]表示CheckBox控件在GridView的第一列。如果在其他列请用响应的列序号
if(ctl.ID!="" && ctl.GetType().ToString()=="CheckBox")
{
//创建CheckBox对象,为GridView控件内的CheckBox控件
cbk=(CheckBox)this.gridview.rows[i].cells[0].FindControl(ctl.ID.tostring());
//根据外面的CheckBox的状态更改gridview内的CheckBox状态
if(checkbox1.checked==true)
{
//如果全选的CheckBox打钩
cbk.checked=true;
}
else
{
//如果全选的CheckBox未打钩
cbk.checked=false;
}
}
}
}
不知道你想获取CheckBox的什么信息??
追问
更新或者删除,是根据是否打钩,然后根据信息ID来删除信息。单单打钩,怎么根据信息ID,删除或更新数据库?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询