DataTables - 显示具有不同单元格和格式的特殊行

时间:2012-01-19 13:16:41

标签: jquery knockout.js datatables jquery-templates

我们正在使用jQuery DataTables plug-in。插件似乎有点不灵活。我们已经解决了两个主要问题,现在面临第三个问题:

在我们的表中,我们想要显示一个特殊的行,它不是所有其他类型的实体。它用作上面的行和下面的行之间的可视分隔符。它具有不同数量的单元格,不同的格式和不同的内容。

Wireframe

我们正在使用jQuery模板与knockoutjs binding handler by cognitive shift.一起呈现行内容似乎没有任何方法可以在数据表中自定义不同类型的行或任何内容,因此cogshift会覆盖{{1}支持jQuery模板。

我们目前正在考虑解决此问题的方法是向viewmodel添加一个“虚拟”项,该项具有一个特殊属性,例如“IsDummy()”确定如何渲染它。在jQuery模板中,我们根据此属性不同地呈现行:

fnRowCallback

然而,这会在尝试排序时最迟破坏数据表,因为它将所有td-s保存在1-dim数组中并依赖于算术来根据行号和列号检索正确的单元格,或者简短地说:所有行必须具有相同的列数。

当我停下来并意识到所有这些黑客将会变得多么尴尬并且必须有更好的方法,或者我可能完全缺少数据表的功能时,这一点。 - 虽然我担心情况并非如此......

有人可以在这里给我一些指导吗?

更新:同时我发现了更多问题:

  • 如果数组中没有任何“真实”条目,我希望数据表显示“找不到数据”,即如果删除了所有其他项,我必须动态删除虚拟项,并将其添加回一次添加了一个新的“真实”条目。
  • 如果由于虚拟条目而有5个“真实”条目,则数据表摘要显示“显示6个条目中的6个”...

3 个答案:

答案 0 :(得分:3)

游戏方式较晚,但现在支持伪节目标题:http://datatables.net/release-datatables/examples/advanced_init/row_grouping.html

答案 1 :(得分:1)

据我所知,数据表中的colspan存在问题。它不受支持,如果现在支持它,我不会支持,请查看此answer

我一直使用数据表,它总是对我有用,但我不认为它适合你想要做的事情。

答案 2 :(得分:1)

我使用row grouping plugin并且它比答案中的链接更适合我,因为在按不同的列排序后会保留组。