创建DataTable子行而不显示它?

时间:2014-06-17 22:06:32

标签: datatables jquery-datatables

我正在使用datatable(v1.10.2和jquery 1.9.2),因为我喜欢开箱即用的功能(搜索/排序等)。但是,现在我希望能够: 1)在显示/隐藏行时使用动画(滑动) 2)让DOM中的隐藏行可以更改(即,它会存在,但显示为:none)。

我创建表的当前代码如下所示(其中formatChild()返回表的html):

 if (row.child.isShown()){
      row.child.hide();
      tr.removeClass('shown');
 } else {
     row = row.child(formatChild());
     row.show();
     tr.addClass('shown');
 }

我正在使用多个服务来通过ajax更改子行表中的数据,并希望即使隐藏行也能够更改该数据。我知道我可以在内存中创建一个地图,并在显示子行时使用存储的地图中的信息,但对我来说,立即更改隐藏的行更加清晰。

我希望我可以做一个row()子(),修改行,然后调用row()child()。show()但是在row.child之后没有在DOM中创建行。 ()。

关于动画,我找到了答案here,但它涉及更改数据表代码:(

我考虑过只使用jquery在数据表中添加一行并隐藏它,但我找不到一个很好的方法来附加"它到主要行进行排序。

我目前倾向于在我的主表行中添加一个div,我将显示/隐藏/更新,而不是使用子行。

在数据表中管理这些隐藏区域(并用动画显示它们)的最佳做法是什么? TY

1 个答案:

答案 0 :(得分:1)

如果其他人有同样的问题,我最终在行中使用DIV而不是使用DataTables的子行。当我向数据表添加一个新行时,div被隐藏,然后我隐藏并显示(滑动/滑动)点击事件。这给了我很好的动画,保持排序简单,让我改变隐藏行中的信息。有趣的是,DIV包含一个表格,当我创建新行时,该表格中的文本是可搜索的;但是,我的ajax调用添加/修改的表中的文本是不可搜索的。我正在调查我希望如何工作(并且如果可能的话,可以完全保留搜索内容。)