识别表中所选行何时已被选择

2024-03-16

我有一个p:datatable在 primefaces 中,我有不同的侦听器,以不同的方式在数据表中选择行事件。

我需要确定表中所选行何时已被选择,我该怎么做?

我需要这个因为我不想那个p:blockUI当我选择表中已选择的行时运行。

有我的页面代码:

...
<pe:blockUI autoShow="true" 
            source="itemsDT" 
            event="rowSelect" 
            target=":processTab">
    <au:loading />                                    
</pe:blockUI>
<p:dataTable widgetVar="processesTable" 
             id="itemsDT" 
             var="item" 
             value="    
             {tasksbacking2.availableProcesses}" 
             selection="#{tasksbacking2.selectedProcess}" 
             rowKey="#{item.id}"
             tableStyleClass="table
             table-condensed table-bordered"   
             resizableColumns="true">

    <p:ajax event="rowSelect" 
            listener="#{tasksbacking2.onClickFillDetails}" 
            update="@this,:processTab,:menuForm:menuBar" />
    ...
</p:dataTable>
...

在托管 bean 上我有这个监听器:

...
public void onClickFillDetails(SelectEvent event) {
      AnoProcess clickedProcess = (AnoProcess) event.getObject();
      setSelectedProcess(clickedProcess);
      Movement currentMovement = this.getProcessesLastMovement().get(clickedProcess);
      if (currentMovement != null && !currentMovement.isViewed()) {
            markAsRead(processes);
      }
   ...
}

这是检查同一行是否重复单击的脚本。
将此脚本放在您的下面p:dataTable代码。

<script type="text/javascript">
    var prevRow ;
    function checkDupRowClick(){
        var currRow = $('tr.ui-widget-content.ui-datatable-selectable[aria-selected="true"]');
        if($(currRow).is($(prevRow))){
            //selected or clicked same row so return FALSE to prevent p:ajax from executing
            return false;
        }else{
            //selected or clicked different row so return TRUE to allow p:ajax to execute
            prevRow = currRow;
            return true;
        } 
    }
</script>

AND 使用函数作为返回参数p:ajax

<p:ajax event="rowSelect" onstart="return checkDupRowClick();" />

如果您需要更多解释,请发表评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

识别表中所选行何时已被选择 的相关文章

随机推荐

  • 使用我自己的应用程序从 iPad 将单页 pdf 文件作为附件通过电子邮件发送

    在我的 ios 应用程序中 用户可以将 pdf 文件作为附件发送给其他应用程序 它可以在 ios 7 之前的设备上运行 升级到ios 7后 应用程序呈现ios邮件界面时附件丢失 这是我用来设置 mime 类型的代码 mailComposer
  • 如何使用 Flask-KVSession 管理过期会话的清理?

    从文档中http flask kvsession readthedocs org en 0 3 1 http flask kvsession readthedocs org en 0 3 1 atcleanup sessions 它表示应该
  • Android:ActivityCompat.requestPermissions 不显示弹出窗口(Android 13,targetSdkVersion=33)

    编辑如下 有许多ma https stackoverflow com questions 32671245 activitycompat requestpermissions not working ny https stackoverfl
  • javax.jms.ConnectionFactory 和 javax.jms.XAConnectionFactory 之间的差异

    由于分布式事务的需要 我正在进入 JTA 的世界 并且我不确定之间的区别javax jms ConnectionFactory and javax jms XAConnectionFactory或者更准确地说 怎么可能是这样javax jm
  • HashMap没有实现Iterable接口的原因? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 谁能告诉我原因HashMap没有实施Iterable 界面 不客气地说 Map一般来说 和HashMap特别是 不实施Iterator因为不清楚
  • 将 Jekyll 添加到现有网站

    我有一个简单的网站 并尝试在新文件夹中添加 Jekyll 博客blog因此我已经跑了jekyll new blog在文件夹中 path 但是当我运行命令时jekyll build in path我有这些错误 jekyll build Con
  • Microsoft SkyDrive 有 API 吗? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 所以与最近有消息称 Microsoft Skydrive 的存储容量将增至 25GB http lif
  • 将小多边形堆叠在另一个较大的多边形内

    我有以下形状优美的像素多边形 big poly Polygon 94 5 77 0 92 5 53 0 87 5 45 0 66 0 20 5 9 0 3 5 5 5 6 0 4 5 13 0 7 5 26 0 6 5 91 0 8 0 9
  • 去比较字符串

    给定两个字符串a and b 有时我想确定这三个语句中的哪一个 a lt b a b or a gt b是真的 在 C 或 C 等语言中 我将得到一个 int 值v在调用相应的函数或方法后 然后我可以通过检查是否可以确定上述哪一个陈述是正确
  • 在Flutter中使DataTable双向滚动

    如何使数据表双向滚动 我使数据表水平滚动 但我的列表很大并且无法向下滚动 override Widget build BuildContext context return Scaffold appBar AppBar title Text
  • 让QGraphicsView做平滑centerOn

    我并不是 Qt 的新手 但有一些事情我不知道 我正在使用 Python 进行编程 但请随意以任何语言发布您的答案 所以 我有几个QGraphicsItem s 位于QGraphics场景 以正常观看场景QGraphicsView 一切正常
  • 你能克隆一个匿名对象吗? (Java/面向对象编程)

    我正在创建一个非常常见 非常简单的形状的库 球体以及环面等都将成为成员 环面有两个半径场 而球体有一个 我们可以通过更改函数的实现以包含两个半径来提供修改后的行为 当然还可以添加额外的半径字段 环面很常见 因此将这种行为包含在永久库中是有益
  • 首先添加一个UIView,甚至是导航栏

    我想在任何其他视图 甚至导航栏 上方显示一种 弹出 视图 如下所示 全屏黑色背景 alpha 为 0 5 可以看到其他内容UIViewController下 a UIView中间的窗口包含一些信息 如果您想了解一切 则可以使用日历 为此 我
  • 如何检查 Java 上的 SSLSocket 连接是否正常?

    我有一个 SSLSocket 池 我需要在借用对象之前检查套接字连接是否正常 isConnected isInputShutdown 和 isOutputShutdown 没有用 因为它们不检查双方是否已连接 如果我尝试从套接字写入或读取
  • 删除表中的行会导致 LOCKS

    我正在运行以下命令从大型表 1 5 亿行 中批量删除行 DECLARE RowCount int WHILE 1 1 BEGIN DELETE TOP 10000 t1 FROM table t1 INNER JOIN table2 t2
  • 为什么 React useState 钩子不能在 for 循环中工作?

    我很好奇为什么在 for 循环中设置状态不能按预期工作 这是我使用钩子的代码 const count setCount useState 0 const onButtonPress gt for let i 0 i lt 100 i set
  • 此脚本(使用 Outlook 发送电子邮件)如何工作?

    谁能帮助我了解 MAPI 的工作原理 我有一个简单的 vbscript 它使用 MAPI 发送电子邮件 它工作得很好 但是 我不知道它是如何做到的 后台发生了什么 Const ForReading 1 Set args WScript Ar
  • Jquery - 根据 的内容应用类

    我有一个水平导航菜单 我可以编辑其源代码 我唯一的选择是在通过 JQUERY 加载时动态添加类 假设我有 3 个选项卡 Home Profile Blog 每个都有一个链接 如下所示 a href home html Home a JQUE
  • 按距给定的升序距离对点数组进行排序

    我需要你的帮助 我有一个已知坐标的点 例如 x 5 y 4 和每个代表点的对象数组 x 2 y 6 x 14 y 10 x 7 y 10 x 11 y 6 x 6 y 2 现在我需要按距给定点的距离按升序对数组进行排序 例如 x 6 y 2
  • 识别表中所选行何时已被选择

    我有一个p datatable在 primefaces 中 我有不同的侦听器 以不同的方式在数据表中选择行事件 我需要确定表中所选行何时已被选择 我该怎么做 我需要这个因为我不想那个p blockUI当我选择表中已选择的行时运行 有我的页面