好吧,我会尽量表达清楚。我正在使用 dataTables 1.9.4 并且我正在使用一个我希望具有特定高度的表,在这个表中我有 5 列,其中 2 列是隐藏列,而其他 3 列是可见的。
这就是说,在 3 列之一中,我有两个 div 元素,一个只是我希望用户能够编辑的纯文本版本。当他们单击该名称/标题进行编辑时,该 div 会隐藏,而同一列中的另一个会显示。显示的有一个输入元素和一个表示取消的链接。如果单击取消,则反向发生现在隐藏的显示和可见的隐藏。
一切都按预期工作,因此没有任何真正的问题。问题是它似乎与在数据表 api 中设置的以下一项或多项有关。
sScrollY
, bAutoWidth
, 可能还有其他一些。如果列中的整体数据大于最初隐藏的数据,则当我在任何给定行中分别隐藏/显示 div 时,导致列调整大小。无论哪种方式,我发现设置sScrollY
是罪魁祸首,如果我让桌子成为它想要高度明智的任何尺寸。然后表格不会尝试在每次“重新绘制”时自动更正每列的宽度
或者我可以删除输入字段,尽管这违背了想要/需要的规范。
所以我的总体问题是,在尝试设置/取消设置后,使用并调整我用于此表的 api 的每个设置。是,有什么..我可以做些什么来保持整个表格的高度,同时提供一个内联元素?
var oTable = $('#the_table').dataTable({
//"sPaginationType": "full_numbers",
"bPaginate": false,
"bFilter": false,
"bAutoWidth": false,
//"sScrollY": "200px",
"bScrollCollapse": true,
"aaSorting": [[1,'desc'],[0,'desc']],
"oLanguage": {
//"sInfo": 'Tasks: _END_',
//"sInfoEmpty": 'No Job/Task(s).',
"sInfo": '',
"sInfoEmpty": '',
"sEmptyTable": ' ',
},
"aoColumns": [
{ "bSortable": true, "bVisible": false, "iDataSort": 0, "aTargets": [ 2 ]},
{ "bSortable": true, "bVisible": false},
{ "bSortable": false, "sWidth":"67%", "sClass":"hide_overflow"},
{ "bSortable": false, "sWidth":"30%"},
{ "bSortable": false, "sWidth":"3%", "sClass":"rgt"}
]
});
return oTable;