我正在使用 jQuery + dataTables + rowGrouping 来呈现一个表格,其中行按特定列的值分组。在应用 rowGrouping 功能之前,它看起来像这样:
Task | Status | Buttons
-------------------------------------
Test something | Stopped | Start
Eat cake | Started | Stop
Take a break | Stopped | Start
在rowGrouping之后:
Task | Buttons
-------------------------------------
STARTED
Eat cake | Stop
-------------------------------------
STOPPED
Take a break | Start
Test something | Start
(状态列现在被隐藏,值用于创建 STARTED/STOPPED 分组行 - 到目前为止一切都很好)。
下面是初始化数据表的代码:
var dataTable = $("#table")
.dataTable({
'bLengthChange': false,
'bPaginate': false,
'sScrollX': "100%",
'bScrollCollapse': true,
})
.rowGrouping({
'bExpandableGrouping': true,
'sGroupingColumnSortDirection': 'asc',
'iGroupingColumnIndex': 1,
'iGroupingOrderByColumnIndex': 0
});
我现在的问题是,我想在按钮上附加一个 onclick 处理程序。单击“开始”按钮应将该任务的状态更改为“已启动”,并且该任务应移至“已启动”组。
但我就是不知道如何做到这一点:(
我的第一个想法是在表对象上再次调用 .rowGrouping() ,但这是不允许的。我还尝试使用 fnUpdate() 等 API 函数更新包含单击按钮的行的状态单元格,但我失败了。
我在本页的最后一部分找到了如何将一行移动到另一个组的提示:
http://code.google.com/p/jquery-datatables-row-reordering/wiki/RowGrouping
但我花了一整天的时间试图让它发挥作用,但我无法弄清楚。
请帮忙 :)