繁体   English   中英

如何选择JSF表中的所有行并删除它们?

[英]How to select all rows in JSF table and delete them?

我有一个带复选框和分页的JSF表。 我有以下问题:我想在所有表页中选择所有行并删除它们。 简单的方法是创建Java哈希映射并存储密钥。 然后Java方法会使用密钥将它们删除到hashmap中,但是如果hashmap超过100万,会发生什么? 也许内存泄漏? 也许解决方案是使用这个简单的JavaScript来选择所有复选框:

//Select all checkbox
function selectall(){     
    $('button').click(function() {
        $("[type=checkbox]").prop("checked", true);
    })​     
}

//Unselect all checkbox
function selectall(){     
    $('button').click(function() {
        $("[type=checkbox]").prop("checked", false);
    })​     
}

我面临两个问题:1。如果我使用JavaScript选择所有复选框,可能只会选择第一页上的复选框,如果我打开第二页则不会选中复选框。 JavaScript仅适用于一个页面。 2.当我单击删除按钮时,如果我选择JavaScript的所有复选框,Java方法将如何知道每个复选框都被选入表中并删除行? 我怎么能解决这些问题?

如果我使用JavaScript选择所有复选框,则可能只会选择第一页上的复选框,如果我打开第二页,则不会选中复选框。

这是事实,因为数据表(甚至整个页面)都被重新渲染,并且将失去其检查状态。

我怎么能解决这些问题?

专注于您尝试实现的目标。 实际上,您不希望在分页数据表中选择所有一百万个条目,但希望删除支持数据表的整个列表或集合。

为什么不添加一个简单清空列表的“全部删除”按钮? 那么你根本不需要关心选择框。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM