GridView实现选取多条记录并删除
来源:互联网 发布:网络银行的特点 编辑:程序博客网 时间:2024/06/08 00:43
GridView暂时不知道是否有多选功能,老师又让做出来只能按自己的方法实现
数据的绑定不再写直接写过程和思路,在GridView中添加模板在模板里加入CheckBox,但在后台不能访问建好的CheckBox,问题就出在这里。
遍历CheckBox的属性和事件,发现了CheckBox有个CheckedChanged于是后台借助这个事件来得到具体是哪个CheckBox激发的时间。
想办法确立选中的Checkbox与选中的数据对应,CheckBox的属性可以喝数据库的信息绑定,于是我将每条数据的id与checkbox的CssClass属性绑定在一起
于是可以通过2得到选中数据的id,并且赋值给Session存储用户的选择。
当用户最后点击确定删除后,再从Session中读取用户最后选择的数据,用户在选择过程中会有选中然后又取消的可能,通过程序保证用户最终选择的数据的id值都存储在Seesion【“xyuan”】中
//获取用户最终的选择
protected void CheckBox1_CheckedChanged(object sender, EventArgs e)
{
CheckBox x = (CheckBox)sender;//1这里用来接收具体是哪CheckBox激发的事件
string x1 = Convert.ToString(Session["xyuan"]);
string h1 = "a";
if (x1 == "")//x1等于空说明用户是第一次点击,所以直接复制,第二次可能是取消选择。
{
Session["xyuan"] = Session["xyuan"] + x.CssClass + ",";//2得到cssclass的值,值与id相等
}
else
{
string[] n = Session["xyuan"].ToString().Split(',');//3通过特殊符号将保存在session中的字符串变为单个字符
Session["x"] = "";
foreach (string h in n)//4通过该循环得到最后选中的是哪个,即用户可能选择后又放弃选择,
{
if (h == x.CssClass)//如果session中含有被选中的行则为h1赋值,
{
h1 = "l";
}
else
{//session中如果与不被选中的行不同则赋值给x若果有则不赋值,h1的值改变ze将x复制个xyuan,若不变则相反
//session["x"]中保存的永远是被选中
Session["x"] = Session["x"] + h+",";
}
}
if (h1 == "a")//如果h1的值不变书名Session【“xyuan”】中不含有被选中的数据,然后将数据保存进去
{
Session["xyuan"] = Session["xyuan"] + x.CssClass + ",";//得到cssclass的值,值与id相等
}
else if (h1 == "l")//h1如果等于l说明session中含有被选中的行,但Session【“x”】中不会保存重复的项,所以将值赋给Session【“xyuan”】以便下次重新操作
{
Session["xyuan"] = Session["x"].ToString();
}
}
}
//删除用户最终的选择
protected void Button1_Click(object sender, EventArgs e)
{ int sid=1;
string[] n = Session["xyuan"].ToString().Split(',');
foreach (string x in n)
{
if (x == "")
{ }
else {
sid = Convert.ToInt32(x);
xclass1.ExecuteNonQuery(sid);//调用删除方法循环删除数据
}
}
Response.Redirect("xyhgl.aspx");
}
- GridView实现选取多条记录并删除
- 实现GridView控件的删除多条记录功能系列
- 实现GridView控件的删除多条记录功能系列(1)
- 实现GridView控件的删除多条记录功能系列(3)
- GridView传多个值并同时添加多条记录
- asp实现批量删除选中的多条记录
- asp实现批量删除选中的多条记录
- 删除重复的记录,并保存第一条记录.
- 如何删除多条记录
- GridView删除记录错误
- Oracle选取有限条数据记录
- 选取前200条记录,冒泡排序
- VC6中实现DataGid用shift+鼠标左键选取n条记录(附VB参考)
- 根据权重随机选取指定条数记录的简单算法实现
- 根据权重随机选取指定条数记录的简单算法实现(C#)【含源代码】
- 在GridView实现批量删除记录、CheckBox全选
- GridView控件的CheckBox选定删除记录,总是无法实现
- 删除重复的记录,并保存第一条记录或保存最后一条记录
- 设计模式(十九)----- 观察者模式(Observer)----(JAVA版)
- Java线程池的调用
- MyEclipse+Tomcat web项目改名
- tmote设计(三) - CC2420(exposed die attach pad)
- Android开发:在onTouchEvent中处理任意时间的长按事件
- GridView实现选取多条记录并删除
- printf、sprintf与fprintf 的区别
- 韩顺平_PHP程序员玩转算法公开课(第一季)12_双向链表crud操作之_水浒英雄排行_学习笔记_源代码图解_PPT文档整理
- 带有位域的结构体对齐
- 浏览器的兼容性
- Hibernate课堂小结一
- 面向接口编程详解(一)——思想基础(转)
- Win2003服务器安全设置
- php事务的使用方法