如何在具有隐藏列的jQuery dataTable中添加行?

4

我正在使用jQuery dataTables插件来升级HTML表格。

dataTable的第1列包含行的主键并且是隐藏的。我能够成功地完成这个任务的唯一方法是添加CSS样式"display: none;"或"visibility: collapsed;"。

当将表格升级为dataTable时,第1列的"aoColumns"也具有"bVisible":false,以指示dataTable隐藏该列。

当调用fnAddData(...)向表格添加新的数据行时,隐藏列的数据会出现在第1个可见列中,并且每个后续数据单元格会向右移动一个单元格。

简而言之,似乎dataTable“忘记”该列被隐藏了。主键对于AJAX提交至关重要。

您有任何解决此问题的想法吗?

2个回答

1
你有自动生成的列吗?还是固定的列?
如果你有固定的列:
只需要为ID列设置一个sClass即可。
<style>
.hidden{
 display:none;
 }
</style>
oTable = $('#table').dataTable( {  
"aoColumns" : [     
    { sTitle: 'id', sClass: "hidden" }  
]   } );

如果您有自动生成列:
您只需在Column数组中定义ID列,并使用(sClass:'hidden')来隐藏它。

固定列的排序设置 > "bVisible": false :D - Masood Moshref
答案需要更多细节,确切地说明如何将数据添加到隐藏列中。 - Siddharth

0

更新:

在发布这个问题后不久,我发现将隐藏列移动到不是第一列的位置是一个(或者说是)解决方案。有什么评论吗?


我认为你应该联系插件作者。如果你得到了答案,请在这里发布。 - user213154
你所说的有帮助,但在datatable.row.add期间仍需要一种隐藏列的方法。只添加<th class="hidden"></th>是没有用的。 - Siddharth

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接