gpt4 book ai didi

jsf - 空 h :dataTable in JSF renders empty row with invalid number of columns?

转载 作者:行者123 更新时间:2023-12-03 19:34:44 25 4
gpt4 key购买 nike

我有以下 JSF 代码,它从一个可能为空的 Bean 呈现一个表

<h:dataTable value="#{recController.currentRecList}" var="rec" styleClass="display" id="rec">
<h:column>
<f:facet name="header">
<h:outputText value="#{msg['rec.name']}"/>
</f:facet>
#{rec.name}
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="#{msg['rec.notes']}"/>
</f:facet>
#{rec.notes}
</h:column>
</h:dataTable>

问题是上面的代码呈现以下 HTML:
<tbody><tr><td></td></tr></tbody>

以上是错误的,因为它应该呈现:
<tbody><tr><td></td><td></td></tr></tbody>

其中列数是两而不是一!但更好的是它应该只呈现:
<tbody></tbody>

以便 DataTables js 脚本识别没有行并显示一个不错的“空表”。
当前 DataTables js 脚本返回错误:
DataTables warning: table id=rec - Requested unknown parameter '1' for row 0. 
For more information about this error, please see http://datatables.net/tn/4

当然,因为它看到一行但列数不正确。

warning datatables

现在使用 Primefaces p:dataTable 会生成更多样板 html 代码,因为该表被埋在几个 div 中,并且当返回空结果时,它会生成:
<tr class="ui-widget-content ui-datatable-empty-message">
<td class=" " colspan="4">No records found.</td>
</tr>

因此,DataTables js ( http://datatables.net/ ) 再次找到了错误的列数。
有没有办法告诉primefaces在找不到结果时输出什么html代码?

最佳答案

好的,我终于找到了一种解决方法,即使用 jQuery 检查 html 并删除有问题的列,这很棘手,但似乎没有任何解决方法,并且标准 JSF 数据表和 Primefaces 数据表都有相同的问题。

<script type="text/javascript" charset="utf-8">
var oTable;
jQuery(document).ready(function() {
/* JSF has a bug where in the case of an empty list it generates a table with
* a single row and a single column no matter how many columns where defined.
* This breaks DataTables script so we manually delete this offending row if
* it is present */
length = jQuery("#myTable tbody tr").first().children().length;
alert(length);
if(length===1)
{
jQuery("#myTable tbody").html("");
}
oTable = jQuery('#myTable').dataTable({
"sDom": 'TRlfrCtip',
"oTableTools": {
"sSwfPath": "#{resource['tabletools/swf/copy_csv_xls_pdf.swf']}"
}
});
//fnClickAddRow();
});
</script>

关于jsf - 空 h :dataTable in JSF renders empty row with invalid number of columns?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20549752/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com