我有一个p:dataTable,它存储已处理表单的结果,我执行以下操作:
我有一个用于筛选值的arraylist,但我没有在bean中对它做任何操作。提交时,我调用actionListener,该actionListener将dataTable强制转换为PrimeFaces.Components.dataTable.dataTable,然后在处理表单之前对其调用resetValue()(参见下面的代码片段)。
我尝试了多种方法来重置、清除和更新dataTable,但我无法绕过上面的问题。仅供参考,这是我的p:dataTable标记:
<p:dataTable
id="resultsDataTable"
rendered="#{entityReportBean.isResultsPopulated}"
var="change"
value="#{entityReportBean.entityChangeDto}"
styleClass="resultsPanel"
rows="100"
paginator="true"
paginatorPosition="top"
paginatorTemplate="#{PreviousPageLink} Previous {CurrentPageReport} Next {NextPageLink}"
filterEvent="enter"
filteredValue="#{entityReportBean.filteredResults}" >
这是ActionListener:
public void onSubmit() {
FacesContext context = FacesContext.getCurrentInstance();
DataTable resultsTable = (DataTable) context.getViewRoot().findComponent("results:resultsDataTable");
resultsTable.resetValue();
...
所以我意识到尝试在actionListener中执行任何操作都没有意义,因为它没有在sort上调用。因此,我在dataTable上添加了一个ajax“sort”事件,并在侦听器中添加了ResultStable.updateValue(entityChangeDto);
。现在一切都好了。
我有一个primefaces的惰性数据表,如下所示: 这是我的实体类: 正如你已经可以看到我的每一个'收据'对象在datable有一个关系(ManyToOne)到一个'用户'对象(类)。在我的数据中,当我添加: 它可以显示收据所属的用户名。这也适用于 字段在第2列。我的问题是,当我试图排序/过滤第一和第二列在我懒惰的数据,我得到以下错误,因为关系: 由于exception说我需要在查询中包含use
筛选数据 你可以通过 3 种方式筛选数据: 点击字段框中的向下箭头,然后选择“筛选”。 使用筛选窗格。 右击图表上的系列或数据点。 【提示】如果要清除筛选,则需要使用筛选窗格。 排序数据 你可以通过 2 种方式排序数据: 点击字段框中的向下箭头,然后选择“排序”。 使用排序窗格。
筛选数据 你可以通过 3 种方式筛选数据: 点击字段框中的向下箭头,然后选择“筛选”。 使用筛选窗格。 按住 Control 键并点按在图表的系列或数据点。 【提示】如果要清除筛选,则需要使用筛选窗格。 排序数据 你可以通过 2 种方式排序数据: 点击字段框中的向下箭头,然后选择“排序”。 使用排序窗格。
筛选数据 你可以通过 3 种方式筛选数据: 点击字段框中的向下箭头,然后选择“筛选”。 使用筛选窗格。 右击图表上的系列或数据点。 【提示】如果要清除筛选,则需要使用筛选窗格。 排序数据 你可以通过 2 种方式排序数据: 点击字段框中的向下箭头,然后选择“排序”。 使用排序窗格。
我开始在我的项目中使用primefaces,我马上就遇到了问题。我有一个列表,其中包含一些我用实体管理器从数据库中获取的东西,我在primefaces数据表的视图中显示了它。在我的后台bean中,我有:List getList(),在这里我使用实体管理器从数据库中检索记录,并立即返回。。 和myService: 我的豆子: 视图: 这种方式primefaces排序不起作用,我在堆栈上的某个地方读到
该页显示列表中的正确值。然而,当我尝试选择一个项目。它不起作用。 我能在列表中选择一个项目吗?