【问题标题】:Apply DataTables.js to p:dataTable primefaces将 DataTables.js 应用于 p:dataTable primefaces
【发布时间】: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 &amp;&amp; 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() 为空

有什么想法吗?? 谢了

【问题讨论】:

标签: jquery jsf-2 primefaces datatables


【解决方案1】:

好的,我的问题是 prependId 必须是 false。

<h:form id="idForm" prependId="false">

【讨论】:

    【解决方案2】:

    尝试添加这个:

    "aoColumns": [
          null
        ]
    

    【讨论】:

    • 可能你的数据表好像是空的,不用Js调用也行吗?
    • 真正的错误在 oDT.fnSettings(...) is null
    猜你喜欢
    • 2015-03-31
    • 2011-07-24
    • 1970-01-01
    • 2014-05-14
    • 2012-06-03
    • 2013-08-09
    • 2013-03-16
    • 1970-01-01
    • 2013-02-03
    相关资源
    最近更新 更多