1

我正在使用 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

但我花了一整天的时间试图让它发挥作用,但我无法弄清楚。

请帮忙 :)

4

0 回答 0