在数据表中显示特定的 child 行

Show specific child row in datatables

假设我使用 row().child()

向数据表行添加了 2 children
row.child([item1, item2]);

稍后,我想展示其中一个children,而不是重新生成它。 row.child.show() 工作正常,除了它显示 both childs。

如何显示来自 row.child 的特定 child?

Fiddle: http://jsfiddle.net/mg22w6o5/

尝试点击第一个生成的行。如何只显示 child 之一?

如果对任何人有帮助,我目前的解决方案:http://jsfiddle.net/mg22w6o5/4/

可以通过节点号获取:

row.childNodes[0];

如果您有唯一 ID 或 类,jquery 中还有 find()。

没有直接 API 来有选择地显示或隐藏子行。虽然有 row().child() returns jQuery 所有子 <tr> 行的集合,但在这种情况下没有帮助。

可能的解决方案是重新创建子行,如下所示:

var dummyChilds = [['child 1'], ['child 2']];

table.row(0).child(dummyChilds);

$('#example tbody').on( 'click', 'tr', function () {
    var row = table.row(this);
    var children = row.child();

    if(children){
       var child = row.child;

       // Recreate children rows
       row.child(dummyChilds[0]);

       if ( row.child.isShown() ) {
           child.hide();
       } else {           
           child.show();
       }
    }
} );

请参阅 this JSFiddle 进行演示。