如何从DataTables rowGroup函数访问数据元素

时间:2019-05-15 02:23:12

标签: javascript datatables

我正在使用DataTables JavaScript库渲染一些表,这些表显示了射箭比赛的各个结果。可以在此处找到一个示例:http://www.archerytoolkit.net/maast/individual_results.php?p=1

您可以在页面上看到小的散点图。这些链接到另一个站点,在该站点中我以图表形式显示了表中的数据。紧随“蒂姆·威尔逊的个人成绩”之后的第一名很好。我还想将图形链接到直接与每个射箭回合的结果相关的页面。这些URL的格式为: http://www.archerytoolkit.net/maast/individual_results.php?p=1&r=1

我已经向DataTables javascript的rowGroup部分添加了一个render函数,但是我不知道如何访问行本身中存在的数据。数据中的每一行都有一个名为“ round_id”的元素,这是我需要在上面的URL中包含的数字(“ r =“部分)。该组中的每一行将具有相同的round_id。

$(document).ready( function () {
    $("#individual_results").DataTable( {
        ajax: "./js/individual_results-json.php?p=<?=$person_id?>",
            columns: [
                {"data": "round_id"},
                {"data": "round"},
                {"data": "division"},
                {"data": "score"},
                {"data": "x_count"},
                {"data": "event_date"},
                {"data": "event_name"}
            ],
            columnDefs: [
                {
                targets: [0, 1, 4],
                visible: false
                },
                {
                targets: 2,
                render: function ( data, type, full, meta ) {
                    return '<a href="./individual_rankings.php?r='+full.round_id+'&d='+encodeURIComponent(data)+'">'+data+'</a>';
                    }
                },
                {
                targets: 3,
                className: "dt-body-center",
                render: function ( data, type, full, meta ) {
                    if (full.x_count === null) {
                        return data;
                    } else {
                        return data+' '+full.x_count+'X';
                    } }
                },
                {
                targets: 5,
                className: "dt-body-center"
                }
            ],
            rowGroup: {
                startRender: function ( rows, group ) {
                    return group+' <a href="http://archerytoolkit.net/shiny/maast-dashboard/?p=<?=$person_id?>"><img src="./i/scatterplot_blk.png" height="15" width="15" /></a></h1>'; 
                },
                dataSrc: "round"
            },
            responsive: false,
            fixedHeader: true,
            paging: true,
            pageLength: 25,
            ordering: false,
            info: true,
            searching: true
        } );
    } );        

因此render函数需要返回如下内容:

return group+' <a href="http://archerytoolkit.net/shiny/maast-dashboard/?p=<?=$person_id?>&r='+[[INSERT ROUND_ID HERE]]+'"><img src="./i/scatterplot_blk.png" height="15" width="15" /></a></h1>';

如何从rowGroup渲染功能访问数据元素?

0 个答案:

没有答案