【发布时间】:2023-03-03 00:52:01
【问题描述】:
我尝试在一个 p:datatable 中使用 DataTables.js(特别是 FixedColumns)。
这是我的头:
<h:head>
<title><ui:insert name="titulo">#{bundleComunes.Titulo}</ui:insert></title>
<script type="text/javascript" charset="utf-8" src="#{request.contextPath}/extras/FixedColumns/media/js/FixedColumns.js" />
<script type="text/javascript" charset="utf-8" src="#{request.contextPath}/js/media/js/jquery.js"/>
<script type="text/javascript" charset="utf-8" src="#{request.contextPath}/js/media/js/jquery.dataTables.js"/>
</h:head>
这是我的p:dataTable
<p:dataTable var="row" id="list" value="#{BB.dataTable}" rowStyleClass="#{styleController.colored(row.modificable)}" style="width : 1024px">
<p:column headerText="#{bundle['id1']}">
<h:outputText value="#{row.id1}" title="#{row.id1.descripcion}" />
</p:column>
<p:column headerText="#{bundle['id2']}">
<h:outputText value="#{row.id2}" title="#{row.id2.descripcion}" />
</p:column>
<p:columns var="fecha" value="#{BB.lFechaEntradaVigor}">
<f:facet name="header">
<h:outputText value="#{fecha}" />
</f:facet>
<h:outputText value="#{row.getCoste(fecha)}" styleClass="#{row.modificable && row.isValido(fecha)?'vigor':''}" style="text-align:right;">
<f:convertNumber groupingUsed="true" minFractionDigits="2" />
</h:outputText>
</p:columns>
</p:dataTable>
这是我的js
var oTable2 = $('#list').find('table').dataTable({
"sScrollX" : "100%", //Scroll
"sScrollY" : "180",
"bAutoWidth" : false,
"bScrollCollapse" : true,
"bPaginate" : false,
"bSort" : false,
"sInfo" : "",
"sInfoEmpty" : ""
});
var oFC = new FixedColumns(oTable2, { "iLeftColumns" : 4, //列先冻结 “sHeightMatch”:“自动”, “iLeftWidth”:405 });
我找到了这个 question 但 js 给了我这个错误:Can not get value ' aoColumns ' property : the object is null or undefined 但错误在 FixedColumns.js:83 "iTableColumns": oDT.fnSettings().aoColumns.length, oDT.fnSettings() 为空
有什么想法吗?? 谢了
【问题讨论】:
-
你知道你可以使用 DataTable - Frozen Columns : primefaces.org/showcase-labs/ui/… :) 它的新...
-
但这是在 PrimeFaces-5.0-SNAPSHOT 中
标签: jquery jsf-2 primefaces datatables