问题标签 [primefaces-datatable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
53 浏览

jsf - Primefaces 7 p:dataTable排序不起作用

我正在尝试在 Primefaces 中显示书籍列表p:dataTable桌子上的书没问题。但是,排序不起作用- 当我单击列标题时,没有任何反应,标题保持按下状态。

我错过了一些东西 - 不知道它是什么(试图弄清楚一段时间并浏览过类似的问题)。我将这些用于应用程序:Primefaces 7、Java EE 8、Glassfish 5.1、Netbeans 12.0、JDK 1.8.0_271、Windows 7 和 Chrome 浏览器 v87.0。

Web 应用程序有两个 bean 和一个 JSF 页面。

豆类:

JSF 页面(标签内的h:body标记):

0 投票
1 回答
355 浏览

jsf - 如何重置 PrimeFaces 动态列的排序?

我有排序和过滤的动态列。我设法清除了过滤器,但根据 Primefaces 的说法,没有功能可以清除客户端 API 的排序。

我的.xhtml:

我的 Java 代码:

有没有办法清除动态列的排序?

0 投票
1 回答
102 浏览

java - Prime faces 表格行扩展默认值

我的表格中有多行表格。该表具有行扩展标签,默认情况下处于非扩展模式。rowexpansion 的面板包含多个输入元素,如重做按钮、文本字段。输入字段具有默认值。默认情况下,第一个重播按钮被选中。

现在,如果我提交包含行扩展为非扩展模式的表格的表单,表单将这些输入元素的值提交为 NULL (重播按钮值为 NULL,而不是默认选择) ,因为行扩展默认为非扩展。仅当行扩展处于扩展状态时,表单才提交值。 (第一个重播按钮作为默认选择)

我可以通过设置属性将所有行设置为展开状态,但只有当用户明确展开它时,行才默认处于展开状态。这导致非扩展行将值作为 NULL 而不是默认值发送。

如何在提交表单之前通过 JavaScript 将所有行设置为展开状态,以便在提交表单时所有行都处于展开状态,并且提交非展开行的默认值而不是 NULL。

在此处输入图像描述

0 投票
1 回答
34 浏览

jsf - 如何在 p:rowExpansion 中更新 p:dataTable

在我的项目中,我将 2 个数据表交织在一起。我想在第一个数据表的行扩展时更新第二个数据表。

当我展开 mydatatable 的行时,我看不到 mydatatable2 中的值。

所以我知道我也必须更新 mydatatable2,但我找不到如何去做。

编辑

根据@Jasper 的回答,我ViewScoped在我的 bean 中添加了这个 ajax,并在我的第一个数据表中添加了这个 ajax。

我的豆子是这样的

0 投票
1 回答
178 浏览

primefaces - 如何使用 JavaScript 聚焦 ap:dataTable 单个可选行

PrimeFaces 具有出色的键盘支持。例如,请参见selectablep:dataTable的展示。当您单击“单次单击行”表中的一行时,您可以使用箭头键导航行并使用回车键选择焦点行。

我希望能够p:dataTable使用 JavaScript 将焦点设置在(单个)可选择的行上。

我检查了客户端 API 文档DataTable行单击处理程序的代码,我认为它与originRowIndexandcursorIndex属性有关。但是将它们设置为0(在 JavaScript 控制台中)不会触发焦点。此外,当我聚焦一行,然后聚焦 JavaScript 控制台时,焦点会丢失,因此很难弄清楚发生了什么。

然后我检查了keydown 处理程序的代码。这让我尝试了以下操作(再次在控制台上):

这将突出显示第一行,但未设置焦点。我想我已经很接近了,但仍坚持焦点问题。

0 投票
0 回答
29 浏览

primefaces - 无法在数据表行扩展时从 bean 访问输入文本值

我在我的项目中使用数据表行扩展。我有一个主面板网格,<p:rowExpansion>我在主面板网格中有几个面板网格。我正在将输入文本(位于主面板网格中的值)正确地传递给 bean。但是我无法将其他输入文本值(位于其他面板网格中)转换为 bean。当我将值保存到我的 oracle 数据库时,我得到空结果。

evmSaveRecord.xhtml

EVMView.java

我正在像这样将值保存到我的 oracle 数据库中

但是当我打开我的数据库表时,参数值为null。是关于主面板网格中的面板网格吗?

0 投票
0 回答
23 浏览

jsf - 在数据表行扩展中输入文本,返回空值 primefaces

我在数据表中显示我的数据库数据。在行扩展中,我设置了一些值并将它们保存到数据库中。我在行扩展中有一个输入文本,当我提交表单时,输入文本的值在我的支持 bean 中返回null 。

我的后备豆的一部分

我不明白为什么我会得到null

0 投票
0 回答
64 浏览

jsf - 尽管 render=false 仍被调用

我想知道<p:dataTable filteredValue>. 希望您能解释一下并告诉我如何避免它。

即使没有渲染相应的组件,也会调用支持 bean 方法。

如果没有渲染,你知道如何避免调用 backing bean 方法吗?

0 投票
0 回答
55 浏览

jsf - JSF 数据表页码

我有一个页面搜索客户,该页面在数据表中有一个按钮视图,用于查看当前行,按下视图后,它会将您带到下一页以操作所选行/客户,我想更改应用程序,以便如果当我按下视图时我在第 7 页,当我按下视图时,我必须返回第 7 页

0 投票
1 回答
53 浏览

jsf - 自定义小面没有正确过滤

我遇到了 primeface 数据表中的列标签问题。我有一个包含很多类似字段的模型,所以为了减少代码,我试图有一个定制的标签来填充每​​一列。所以宁愿写类似的东西

我正在尝试拥有类似的东西

通过在以下线程中遵循@Jasper 的建议,我已经设法使用 facelet 标记完成了大部分工作。唯一的问题是过滤。它适用于显式列,但仅在使用我的 facelet 标记时适用于最后一列。

我在这里创建了一个小 git 项目显示所有代码并在需要时运行它。它将显示以下页面。前 3 个布尔列是显式 <p:column> 标记(过滤适用于所有三个),接下来的 3 个布尔列使用我的 facelet 标记,如您所见,列“四”没有正确过滤,但列“六“ 做。

在此处输入图像描述

有人遇到过这种问题并且能够解决吗?

PS:这是我的自定义标签的代码