Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 如何计算p:dataTable Primefaces中的行数?_Jsf_Primefaces - Fatal编程技术网

Jsf 如何计算p:dataTable Primefaces中的行数?

Jsf 如何计算p:dataTable Primefaces中的行数?,jsf,primefaces,Jsf,Primefaces,我是个新面孔 我正在使用PrimeFaces5.1和JSF2.2开发一个项目 我不知道如何计算p:dataTable中的行数 我需要基于行数的集合图表 有什么想法吗 如果行数意味着从支持bean返回多少数据集到我的视图,那么您应该通过简单地添加另一个getter-like来计算支持bean中的行数 public int getNumberOfRows() { return this.myDataTableList.size(); } 如果您指的是行数,即在我的p:datatable中当前可

我是个新面孔

我正在使用PrimeFaces5.1和JSF2.2开发一个项目

我不知道如何计算p:dataTable中的行数

我需要基于行数的集合图表

有什么想法吗

如果行数意味着从支持bean返回多少数据集到我的视图,那么您应该通过简单地添加另一个getter-like来计算支持bean中的行数

public int getNumberOfRows() {
  return this.myDataTableList.size();
}
如果您指的是行数,即在我的p:datatable中当前可见的数据量,并且您使用了分页器,那么答案与您选择初始化datatable的数字相同,但最后一页除外

如果要访问客户端上的行数,必须使用以下内容:

$("#YOUR_DATATABLE_ID").find(".ui-datatable-tablewrapper").find(".ui-datatable-data").find(".ui-widget-content").length

但这将仅在使用分页器时显示当前可见的行。如果要获取所有行并使其更容易,请如上所示,在支持bean中设置可访问的行数。

要获取数据表的行数,只需使用size内置Java方法

<p:dataTable value="#{tableBean.myTable}">...</p:dataTable>

<h:outputText value="#{tableBean.myTable.size()}"/>

您需要做的是为p:datatable设置一个widgetVar

或者如果您正在使用分页器

PF('myTable').cfg.paginator.rowCount

以防任何人出于显示目的仍然需要此功能。 从版本5开始,paginator模板中有所谓的{CurrentPageReport}元素。它允许通过定制。在Primefaces文档中搜索currentPageReportTemplate,它有点隐藏:

使用{totalRecords}可以输出表中的记录数。它也适用于有源滤波器。以下是一个例子:

<p:dataTable var="entry" value="#{mbvHandler.entries}"
      widgetVar="carsTable" id="carsTable"
      scrollable="true" scrollWidth="100%"
      filteredValue="#{mbvHandler.filteredEntries}"
      rows="25" paginator="true" resizableColumns="true"
      paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown} {Exporters}"
      currentPageReportTemplate="{currentPage} of {totalPages} ({totalRecords})"
      rowsPerPageTemplate="10,15,25,50">

您想从Javascript还是从Java ManagedBean访问行数?@Kishor P,我需要使用Javascript访问行数……,Thakz for ur post…,但是,我需要使用Javascript访问行数……Manuel@,谢谢你的回复,但它不适合我…它总是给出的结果是大小仅为0。但在我的表中有三行…什么不准确?如果您可以创建一个JSFIDLE,那么帮助您会容易得多。再说一次,用JS做不是最好的方法
PF('myTable').cfg.paginator.rowCount
<p:dataTable var="entry" value="#{mbvHandler.entries}"
      widgetVar="carsTable" id="carsTable"
      scrollable="true" scrollWidth="100%"
      filteredValue="#{mbvHandler.filteredEntries}"
      rows="25" paginator="true" resizableColumns="true"
      paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown} {Exporters}"
      currentPageReportTemplate="{currentPage} of {totalPages} ({totalRecords})"
      rowsPerPageTemplate="10,15,25,50">