所以我有这张表,我正在使用 datatables.js 来帮助我使它有点功能。也就是说,我遇到了需要在此表中有 6 个最初呈现的行,这些行在很大程度上永远保持不变,并且在其中的位置,除了一个例外 3,但我认为如果我能解决,目前只有一个很重要这一个问题,其他类似的问题应该很容易模仿。无论如何,该规则的例外是 6 个静态行中的最后一行始终保持在底部。有了这个,我需要在最后一行上方附加一行。这意味着第 6 行将是新的 7,新的行将是第 6 行。
我的表从客户端方面进行了排序,但通过隐藏列保留了排序顺序。因此,每当有东西通过它时,我都需要调整排序的列索引。到目前为止,我可以通过第一次运行我提出的函数来做到这一点,但是如果我在运行后再次触发该函数,那么命令就会变得有点疯狂。所以这里说的是我的数据表代码:
var oTable = $('#manager').dataTable({
"sPaginationType": "full_numbers",
"bPaginate": false,
"bFilter": false,
"bAutoWidth": true,
"sScrollY": "300px",
"bScrollCollapse": true,
"aaSortingFixed": [[0,'asc']],
"oLanguage": {
"sInfo": 'Tasks: _END_',
"sEmptyTable": "No Job/Task Sources to display currently.",
"sInfoEmpty": "No Job/Task(s)."
},
"aoColumns": [
{ "bSortable": true, "bVisible": true},
{ "bSortable": false, "sWidth":"5%", "sClass":"center"},
{ "bSortable": false, "sWidth":"85%"},
{ "bSortable": false, "sWidth":"10%"},
]
});
这是迄今为止我提出的功能..
function newTaskData()
{
var lastTR = taskmanagerTable.fnGetData($('.static:last').get(0));
var currLast = parseInt(lastTR[0]);
var newLast = parseInt(lastTR[0])+1;
alert([newLast, currLast])
taskmanagerTable.fnUpdate(newLast, currLast, 0);
taskmanagerTable.fnAddData([currLast, 'checkbox', 'data source', 'E R D']);
taskmanagerTable.fnDraw();
}
这是第一次运行与多次运行的几个屏幕截图
我什至不知道如何解释问题是什么,所以希望图像有所帮助