2

好吧,我会尽量表达清楚。我正在使用 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;
4

0 回答 0