在某些情况下,我的应用程序会收到一个对象数组,其中所有属性中的记录都具有空值。在这种情况下,整行中的所有单元格都将为空。
在此方案中,数据表显示垂直滚动条。
在下面的示例中,scrolly设置为“30vh”。但是,对于仅2条记录,垂直滚动条正在显示。
有什么方法可以解决这个问题吗?提前谢谢。
var data = [];
for ( var i=0 ; i<2 ; i++ ) {
var record = ['','','','','',''];
if (i > 0)
{
record = [
'',
'First Name ' + i,
'Last Name '+ i,
'Postal - ' + i,
'ZIP - '+ i,
'USA' ]
}
data.push( record );
}
var t = $('#example').DataTable( {
data: data,
deferRender: true,
scrollY: '30vh',
scrollCollapse: true,
scroller: true,
info:false
} );
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdn.datatables.net/1.10.16/js/jquery.dataTables.min.js"></script>
<script src="https://cdn.datatables.net/scroller/1.4.3/js/dataTables.scroller.min.js"></script>
<link href="https://cdn.datatables.net/1.10.16/css/jquery.dataTables.min.css" rel="stylesheet"/>
<link href="https://cdn.datatables.net/scroller/1.4.3/css/scroller.dataTables.min.css" rel="stylesheet"/>
<table id="example" class="display nowrap" cellspacing="0" width="100%">
<thead>
<tr>
<th></th>
<th>ID</th>
<th>First name</th>
<th>Last name</th>
<th>ZIP / Post code</th>
<th>Country</th>
</tr>
</thead>
</table>
答案 0 :(得分:0)
是的,正如你所说,空行将弄乱造型 - 他们并不期望在那里。最好的办法是通过预处理返回的数据,在空行加载到表之前过滤掉它们。要执行此操作,请使用xhr
事件 - 此处通过一些很好的示例对此进行了解释:https://datatables.net/reference/event/xhr