简体   繁体   English

DataTable - 如何实现嵌套数据表?

[英]DataTable - How to implement a nested datatable?

I have a nested dict like following: 我有一个嵌套的dict如下:

var dataSet = [{"s_group": [{"range_name": null, 
                             "name": "XXXXXXXXXXXX"}], 
                "configfile": "XXXXXXXXXXX", 
                "src_port": ["0-65535"], 
                "d_group": [{"range_name": null, 
                             "name": "YYYYYYYYYYY"}], 
                "action": "accept", 
                "protocol": "nun", 
                "dst_port": ["NN"]}]

I am able to create a table with above data using datatable for action , protocol , dst_port and src_port . 我可以使用datatable for actionprotocoldst_portsrc_port创建一个包含上述数据的表。 But not for s_group and d_group 但不适用于s_groupd_group

<script>
$(document).ready(function() {
        $('#sg_rules').html( '<table cellpadding="0" cellspacing="0" border="0" class="table table-bordered table-condensed" id="sg_table"></table>' );
        $('#sg_table').dataTable( {
                "data": dataSet,
                "columns": [
                { "title": "Action", "data": "action" },
                { "title": "Protocol", "data": "protocol" },
                { "title": "SRC_PORT", "data": "src_port" },
                { "title": "DST_PORT", "data": "dst_port" }
                ]
        } );   
} );
</script>

JSFiddle : http://jsfiddle.net/1s0jbm2z/ JSFiddle: http//jsfiddle.net/1s0jbm2z/

I am not able to display s_group and d_group to the table as they are another dict. 我无法将s_groupd_group显示在表中,因为它们是另一个字典。 I want to display them as a nested table. 我想将它们显示为嵌套表。

I think this is what you want. 我想这就是你想要的。

$(document).ready(function () {
    $('#sg_rules').html('<table cellpadding="0" cellspacing="0" border="0" class="table table-bordered table-condensed" id="sg_table"></table>');
    $('#sg_table').dataTable({
        "columnDefs": [
            {
                "render": function ( data, type, row ) {
                    return '<table><tr><td>'+data[0].range_name+'</td><td>'+data[0].name+'</td></tr></table>';
                },
                "targets": [0, 1]
            }
        ],
        "data": dataSet,
            "columns": [{
            "title": "s_group",
            "data": "s_group"
        }, {
            "title": "d_group",
            "data": "d_group"
        }, {
            "title": "Action",
            "data": "action"
        }, {
            "title": "Protocol",
            "data": "protocol"
        }, {
            "title": "SRC_PORT",
            "data": "src_port"
        }, {
            "title": "DST_PORT",
            "data": "dst_port"
        }]
    });
});

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM