PrimeFaces p:focus on p:dataTable 元素

2024-02-21

我目前正在尝试设置一个可编辑的数据表,当用户使用 JavaScript 或支持 bean 编辑单元格时,该表使用 ajax 来保持焦点,因为当发生单元格编辑时,表的其他部分中的数据将需要更新,因此应重新绘制表格,使焦点元素失去焦点。目前我正在尝试使用 p:focus 来执行此操作,并使用 CellEditEvent 侦听器来获取组件 id。不幸的是,分配给焦点组件 id 的变量并不会改变页面上焦点的元素。

这是相关的 HTML:

<h:form id="addForm">
    <p:focus id="focusID" for="#{beanView.focus}" />
    <h:panelGroup id="entrypg">
        <p:commandButton id="updateButton" widgetVar="updateButton" update="addForm:myDT" />                         
        <p:dataTable id="myDT" widgetVar="myDT" var="iter" value="#{beanView.valList}" 
                editable="true" editMode="cell">
            <p:ajax event="cellEdit" listener="#{beanView.onCellEdit}" oncomplete="$('#addForm\\\:updateButton').click();"/>
            <p:column headerText="X">
                <p:cellEditor>
                    <f:facet name="output">
                        <h:outputText value="#{iter.x}" />
                    </f:facet>
                    <f:facet name="input">
                        <p:inputText value="#{iter.x}" />
                    </f:facet>
                </p:cellEditor>
            </p:column>
        </p:dataTable>
    </h:panelGroup>
</h:form>

以及视图中的单元格编辑处理程序:

public void onCellEdit(CellEditEvent edit) {    
    if(edit.getNewValue() != null) {
        focus = edit.getColumn().getChildren().get(0).getClientId();
    }
}

我也愿意接受更好的方法来做到这一点,因为我不确定 p:focus 是否是为此目的而设计的。

Thanks!


好的,我已经使用小部件让它工作了:

function forceFocus(index) {
    var widget = PF('myDT');
    widget.showCellEditor($('[role="gridcell"].ui-editable-column:eq(' + index + ')'));
}

showCellEditor 几乎完全满足了我的需要,它突出显示了一个单元格并聚焦它以允许立即编辑。它似乎还保留了 ajax 调用之间的焦点。

如果您想对具有超过 1 个可编辑列的表执行此操作,则需要更多逻辑。

编辑:好吧,它似乎没有在表格重绘之间存储焦点,但应该可以在重绘表格之前抓住焦点,并使用上述函数在重绘后恢复焦点

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

PrimeFaces p:focus on p:dataTable 元素 的相关文章

  • 这段代码有什么问题。如果用户选择或不选择复选框,为什么它仍然显示 MsgBox? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 无论我是否选择复选框 它仍然会给出
  • 使用 Gmail 上下文小工具访问附件

    我想将电子邮件及其附件从 Gmail Google Apps 保存到另一个数据库以实现类似 CRM 的功能 然而 根据docs http code google com apis gmail gadgets contextual 提取器无法
  • 刷新页面后保留输入值

    我有一个带有输入字段的表单 该输入包含一个下拉菜单 从数据库中读取信息 如果用户输入值 并且当他到达下拉菜单时 他没有找到他想要的内容 他会转到另一个页面将此信息添加到下拉菜单 然后转到第一页继续输入信息 如果他转到另一个页面向下拉菜单添加
  • jQuery数据表设置列设计和成功回调中的值

    我为我的数据表编写了以下代码 它用我的数据库中的内容填充表 如下所示 if datatable null datatable destroy datatable tableProducts DataTable pageLength 50 b
  • 通过 Javascript 更改 Webkit 属性?

    请帮助我 可能是因为我对 CSS 动画和 Javascript 相当陌生 但我使用的代码应该更改它的属性 当我运行代码时 它会执行代码中的所有其他操作 除了更改所需 div 的 CSS 属性 我已经尝试了所有这四种方法 但似乎都不起作用 它
  • 在each() 和forEach() 中使用break 和 continue

    如果我们不能使用 break 和 continue 关键字 我不确定我是否理解函数式循环 映射的价值 我可以做这个 collections users models forEach function item index can t use
  • UpdatePanel 启动脚本未执行

    我正在编写一个在 SharePoint 网站中使用的 ASP NET Web 部件 并尝试使用 UpdatePanel 来呈现查询结果 我想使用 JQuery 插件来修改从异步回发返回的表 但我无法让启动脚本在异步更新上执行 我发现这个帖子
  • 如何将OpenLayers多边形坐标转换为纬度和经度?

    我正在使用开放层 https openlayers org en latest examples draw freehand html绘制多边形并保存坐标的技术 这是我的代码 var raster new ol layer Tile sou
  • 如何获取 Spotify API 的访问令牌?

    我已经研究 Spotify api 和示例源代码几天了 但我仍然不知道如何获取访问令牌来访问用户的播放列表数据 我已经到达了拉起登录窗口 用户登录 然后收到授权码的地步 此时 我尝试做这样的事情 window open https acco
  • Lightbox:如何翻译“Image x of x”文本?

    我使用 Lightbox 2 作为图像集 当我的网站的访问者单击该集中的缩略图时 它将显示 图像的放大版本 下面是 描述 取自 a 标题属性 其下方 文本 Image x of x 例如 Image 1 of 12 有谁知道在哪里翻译 更改
  • 将屏幕宽度获取到 javascript 变量中并通过 ajax 将其发送到 php 页面以避免页面加载

    这是JS检测我的页面命名上的屏幕分辨率index html并将其发送到 php 以便可以使用以下方式检索值 GET 这是我的PHP文件命名的内容process php
  • 带有桌子的嵌套表

    我在应用了表排序器的表中嵌套了表 它在嵌套表中添加了排序标题 但是它们没有对行进行排序 并且抛出了JavaScript错误 我想拥有 嵌套表不可排序 巢表上的排序实际上可以工作 但不是现状 您的第一个选择要容易得多 使嵌套表不可排序 像这样
  • 如何使用 Node.js 解析 JSON? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我应该如何使用 Node js 解析 JSON 是否有一些模块可以安全地验证和解析 JSON 你可以简单地使用JSON parse h
  • 为什么我从 c# 到 js 得到不同的 MD5 哈希值?

    我有一个用于加密密码的 C 函数 System Security Cryptography MD5CryptoServiceProvider md5Provider new System Security Cryptography MD5C
  • 如何在flutter上关注android tv应用程序中的列表视图项目

    我想在 flutter 中构建一个 android 电视应用程序 几乎所有事情都已完成 但一个问题是我无法集中注意力 例如一些弹出效果或边框更改任何告诉用户您现在正在使用此项目的内容 我们在列表视图中迭代的项目 我想要在应用程序中看到的图像
  • 禁用移动设备上的锚点菜单点击

    我使用嵌套列表作为带有子菜单项的菜单 我曾经这样做过 如果您将鼠标悬停在主菜单项上 子菜单项将通过将显示从无更改为块来出现 我决定让子菜单看起来就像是下拉的 并使用了 CSS 过渡 我遇到的问题是 在第一种方法中 如果您触摸 iPad 上的
  • 如何在react.js中将/n替换为换行符?

    我正在尝试更换每一个 n to a br tag in ReactJS In my note note对象有一个包含多个的字符串 n in it 示例注释 注释 test ntest ntest 我尝试过的ReactJS note note
  • javascript从字符串创建不区分大小写的正则表达式

    我试图通过以不区分大小写的方式将输入与正则表达式匹配来进行验证 正则表达式作为对象上的字符串从服务中下来 我可能会得到类似的东西 regex ane 我可以执行以下操作 var rx new RegExp object regex The
  • 文件和目录条目 API 在 Chrome 中损坏?

    我正在尝试使用文件和目录条目 API 创建一个文件上传器工具 该工具允许我将文件和目录的任意组合放入浏览器窗口中 以供读取和上传 我完全意识到 可以通过使用文件输入元素来实现类似的功能webkitdirectory已启用 但我正在测试一个用
  • 加载谷歌地图控件时是否有事件?

    我知道tilesloaded 但控件似乎在该事件之后加载 我基本上希望能够通过 jQuery 获取控件 但甚至找不到正确的监听 我也刚刚处理了 没有类似的事件 在控件可见之前空闲和tilesloaded触发 因此 基本上将 特殊控制 类添加

随机推荐

  • 如何使用 REGEXP_SUBSTR 解析数据?

    我有一个像这样的数据集 见下文 我尝试提取形式为 variable number of digits hyphen only one digit 的数字 with mcte as select ILLD ELKJS 00000000 ELK
  • Composer 软件包已更新但未安装

    做完之后 sudo php composer phar update 我得到以下信息 Loading composer repositories with package information Updating dependencies
  • 通过Java获取Windows文件关联

    我以为这会是一件容易的事 但是 我希望我的 Java 程序能够获取用户的 Windows 文件关联 换句话说 我想知道用户使用什么来打开 txt文件 cvs文件等 assoc 和 ftype 命令提供该信息 但不提供给用户 换句话说 如果我
  • stderr 上的 Paramiko recv()/read()/readline(s)() 返回空字符串

    我正在使用 paramiko 收集远程主机上的一些信息并在阅读时遇到问题 read readline readlines 来自stderr渠道 有时stderr read 返回一个空字符串 在我看来 它看起来像是竞争条件的结果 然而 根据我
  • 计算每列或行非零元素平均值的有效方法

    我有一个 numpy 数组 用于存储用户对电影的评分 评分介于 1 到 5 之间 0 表示用户没有对电影进行评分 我想计算每部电影的平均评分 以及每个用户的平均评分 换句话说 我将计算每列或每行非零元素的平均值 是否有一个有效的 numpy
  • 如果已经登录,则正确跳过登录活动

    我的启动器图标当前启动登录活动 我已将登录状态存储在 SharedPreferences 中 有什么办法可以properly跳过登录活动并直接进入主要活动 无需any用户界面故障 所有现有的解决方案涉及finish in onCreate
  • 更改 XML 标签名称

    我想转换一个我已经解析过的 XML 文档XmlSlurper 相同的 XML 标记名称应替换为id属性 所有其他属性都应该被删除 从这段代码开始 def xml
  • 未绑定 play.api.db.slick.DatabaseConfigProvider 的实现

    我无法顺利使用 play 2 5 x 我收到以下运行时错误 ProvisionException Unable to provision see the following errors 1 No implementation for pl
  • 复制 Groovy 类属性

    我想要将对象属性复制到另一个对象以通用方式 如果目标对象上存在属性 我从源对象复制它 我的代码使用良好扩展元类 http groovy codehaus org gapi groovy lang ExpandoMetaClass html
  • javax.el.PropertyNotFoundException:目标无法访问,标识符“登录”解析为 null Spring + JSF [重复]

    这个问题在这里已经有答案了 我无法解决使用 Autowired 服务获取 null 的问题 这是我的代码 我的配置文件 应用程序上下文 xml
  • 如何将 Java 组合框中的项目居中

    Java 中的组合框是否有一种方法可以将组合框中的项目居中 我尝试了这个但没有成功 myCombobox setAlignmentY CENTER ALIGNMENT Thanks 试试这个链接 如何使用组合框 Java 教程 gt 使用
  • 使用 PHP Mail() 发送附件?

    我需要通过邮件发送 pdf 文件 可以吗 to xxx subject Subject message Example message with b html b headers MIME Version 1 0 r n headers C
  • T get()”是什么意思? (还有用吗?)

    这似乎是有效的 Java 语法
  • 如何使用存储过程在 mysql 中选择和插入值

    我是使用存储过程的新手 我有一个从表中获取值的查询 之后 我需要将结果插入到另一个表中 这是我的查询 SELECT a gender b purpose abroad as per recorded travel b country nam
  • Minecraft 克隆的最佳盒子选择方法

    我正在制作 Minecraft 克隆作为我的第一个 OpenGL 项目 但卡在了框选择部分 做出可靠的盒子选择的最佳方法是什么 我一直在研究一些 AABB 算法 但它们都没有足够好地解释它们到底做了什么 尤其是经过超级调整的算法 而且我不想
  • 跳出 _.each 循环

    是否可以在每个循环中跳出下划线 each obj function v i if i gt 2 break lt does not work some code here 我可以使用另一种设计模式吗 我认为你不能 所以你只需将函数的内容包装
  • Facebook 画布应用程序“redirect_uri”在授权和身份验证后突破 iframe

    我正在升级我现有的 FB 应用程序 并且非常疯狂地尝试获得一个简单的 PHP iframe 画布应用程序来授权和身份验证 以及使用 SSL 从来没有看过这么多例子 这就是我陷入困境的地方 用户授权应用程序并且应用程序对用户进行身份验证后 我
  • 如何从浏览器将用户重定向到 Google Play 上应用页面的评论选项卡?

    我在 Google Play 上发布了一个应用程序 我想要一个将用户重定向到 google play 上应用程序页面上的评论选项卡的网址 在发布应用程序的文档中 有一个用于将用户重定向到应用程序的详细信息选项卡 默认 的 url 我希望当用
  • 如何在数组中查找大于、小于或等于某个值的数字?

    我试图输出小于 5 的值和大于数组中所有值的平均值的值 我不知道如何使这一切顺利进行并输出正确的数字 有人可以帮忙吗 这就是我所拥有的 我快到了 我只是不知道我做错了什么 int numbers 2 4 6 8 10 12 14 16 in
  • PrimeFaces p:focus on p:dataTable 元素

    我目前正在尝试设置一个可编辑的数据表 当用户使用 JavaScript 或支持 bean 编辑单元格时 该表使用 ajax 来保持焦点 因为当发生单元格编辑时 表的其他部分中的数据将需要更新 因此应重新绘制表格 使焦点元素失去焦点 目前我正