如何批量删除list循环出来的值? 30
我的信息是用list从数据库中循环出来的值。<%foreach(AnycallMODEL.kehukhinkehulist){%><%=kh.Kehuid%>,<%=kh...
我的信息是用list从数据库中循环出来的值。
<%foreach (AnycallMODEL.kehu kh in kehulist)
{ %>
<%=kh.Kehuid %>,
<%=kh.Kehuname %>
<%}%>
循环出来的。然后我的意思是在循环出来后有一个全选按钮,点击了以后都选中了,然后点击删除按钮把这些选中的都删除掉。就是这个意思了、 展开
<%foreach (AnycallMODEL.kehu kh in kehulist)
{ %>
<%=kh.Kehuid %>,
<%=kh.Kehuname %>
<%}%>
循环出来的。然后我的意思是在循环出来后有一个全选按钮,点击了以后都选中了,然后点击删除按钮把这些选中的都删除掉。就是这个意思了、 展开
10个回答
展开全部
list.clear()可以一次性清空所有元素。list.retainAll(Collection c)可以移除所有不在c里的元素,list.removeAll(Collection c)可以移除所有在c里的元素。其它的情况,只好一个个删了。
如果是数据库的话,就必须读出所有想删除的记录,比如你说的“有一个全选按钮,点击了以后都选中了,然后点击删除按钮”,那么服务器后台收到删除按钮发送的那些kh.Kehuid,就将所有这些id都用“,”隔开拼接起来,比如“1,3,4,6”这样一个字符串,然后用类似
DELETE * FROM kehu WHERE Kehuid in (......)
....那里就是这个字符串,就可以批量删除数据库内数据了。但这个其实不是Java的范畴而是SQL的范畴了。
如果是数据库的话,就必须读出所有想删除的记录,比如你说的“有一个全选按钮,点击了以后都选中了,然后点击删除按钮”,那么服务器后台收到删除按钮发送的那些kh.Kehuid,就将所有这些id都用“,”隔开拼接起来,比如“1,3,4,6”这样一个字符串,然后用类似
DELETE * FROM kehu WHERE Kehuid in (......)
....那里就是这个字符串,就可以批量删除数据库内数据了。但这个其实不是Java的范畴而是SQL的范畴了。
展开全部
对于java list集合,要一次性溢出多条数据实现方法:
首先,可以先定义个相同的list,比如原本的List存到是String 类型,那么就再定义个存String类型的List;
然后,在循环list时,把要批量删除的元素添加到新建的list中,若说,本身就已经存在一个要移除的集合列表,则可直接将newList指向该列表;
最后,在循环list结束后,确定不需要再移除其他元素了,就调用oldList.removeAll(newList);
通过以上代码就可以把oldList跟newList的交集从oldList中移除
首先,可以先定义个相同的list,比如原本的List存到是String 类型,那么就再定义个存String类型的List;
然后,在循环list时,把要批量删除的元素添加到新建的list中,若说,本身就已经存在一个要移除的集合列表,则可直接将newList指向该列表;
最后,在循环list结束后,确定不需要再移除其他元素了,就调用oldList.removeAll(newList);
通过以上代码就可以把oldList跟newList的交集从oldList中移除
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
没太没明白,貌似你是想在页面操作是吧,其实道理是一样的,本身就是个数组,你的全选按钮,可以做个复选框。根据位置选择删除,其实程序上实现来讲还是一个个删除的,全部删除应该只有clear和removeAll,你根本不用弄什么全部选中。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用一个for循环遍历List时,不能删除其中的元素。
用Iterator操作即可。
还有 Pro类要重写一下 toString方法。这样System.out.println里才能打印出来。
import java.util.*;
public class ListTest {
public static void main(String[] args) {
List<Pro> list = new ArrayList();
Pro p1 = new Pro("1000","1000");
Pro p2 = new Pro("1001","1002");
Pro p3 = new Pro("1003","1004");
Pro p4 = new Pro("1005","1006");
list.add(p1);
list.add(p2);
list.add(p3);
list.add(p4);
for (Iterator<Pro> i = list.iterator(); i.hasNext();) {
Pro o = i.next();
if(o.getProid().equals(o.getProName())){
i.remove();
}
}
System.out.println(list);
}
}
class Pro{
private String proid;
private String proName;
public String getProid() {
return proid;
}
public void setProid(String proid) {
this.proid = proid;
}
public String getProName() {
return proName;
}
public void setProName(String proName) {
this.proName = proName;
}
public Pro(String proid, String proName) {
super();
this.proid = proid;
this.proName = proName;
}
public Pro() {
}
public String toString() {
return proid + ":" + proName;
}
}
用Iterator操作即可。
还有 Pro类要重写一下 toString方法。这样System.out.println里才能打印出来。
import java.util.*;
public class ListTest {
public static void main(String[] args) {
List<Pro> list = new ArrayList();
Pro p1 = new Pro("1000","1000");
Pro p2 = new Pro("1001","1002");
Pro p3 = new Pro("1003","1004");
Pro p4 = new Pro("1005","1006");
list.add(p1);
list.add(p2);
list.add(p3);
list.add(p4);
for (Iterator<Pro> i = list.iterator(); i.hasNext();) {
Pro o = i.next();
if(o.getProid().equals(o.getProName())){
i.remove();
}
}
System.out.println(list);
}
}
class Pro{
private String proid;
private String proName;
public String getProid() {
return proid;
}
public void setProid(String proid) {
this.proid = proid;
}
public String getProName() {
return proName;
}
public void setProName(String proName) {
this.proName = proName;
}
public Pro(String proid, String proName) {
super();
this.proid = proid;
this.proName = proName;
}
public Pro() {
}
public String toString() {
return proid + ":" + proName;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用JS选中标签然后把里面的数据删除掉
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询