echarts给数据视图添加表格样式

1,准备好样式

<style>
.myTable {
margin: 0 auto;
/* height: 300px; */
width: 700px;
}

.myTitle {
background-color: #F2F3F5;
}

tr:hover {
background: #edffcf;
}

th {
font-size: 16px;
font-weight: bold;
}

td {
font-size: 14px;
}

th,td {
border: solid 1px black;
text-align: center;
}
</style>

 

2,toolbox中添加optionToContent

代码:

optionToContent: function(opt) {
  var dataview = opt.toolbox[0].feature.dataView; //获取dataview
  var table = '<div style="position:absolute;top: 5px;left: 0px;right: 0px;line-height: 1.4em;text-align:center;font-size:14px;">'+dataview.title+'</div>'
  table += getTable(opt);
  return table;
}

 

getTable方法:

function getTable(opt) {
    var axisData = opt.xAxis[0].data;// 获取图形的data数组
    var series = opt.series;// 获取series
    var num = 0;// 记录序号
    var sum = new Array();// 获取合计数组(根据对应的系数生成相应数量的sum)
    for (var i = 0; i < series.length; i++) {
        sum[i] = 0;
    }
    var table = '<table class="myTable"><thead><tr class="myTitle"> ';
    table += '<th>' + '' + '</th>'
    for (var i = 0; i < series.length; i++) {
        table += '<th>' + series[i].name + '</th>'
    }
    table += '</tr></thead><tbody>';

    // 遍历x轴
    for (var i = 0, l = axisData.length; i < l; i++) {
        table += '<tr>' + '<td>' + axisData[i] + '</td>';
        // 遍历y轴
        for (var j = 0; j < series.length; j++) {
            if (series[j].data[i]) {
                table += '<td>' + series[j].data[i] + '</td>';
            } else {
                table += '<td>' + 0 + '</td>';
            }

        }
        table += '</tr>';
    }

    table += '</tr></tbody></table>';
    return table;
}

 

posted @ 2018-10-17 15:32  爱跳舞的程序员  阅读(1248)  评论(0编辑  收藏  举报