Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/472.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript google.visualization.DataTable()合并行_Javascript_Datatable_Google Visualization_Visualization - Fatal编程技术网

Javascript google.visualization.DataTable()合并行

Javascript google.visualization.DataTable()合并行,javascript,datatable,google-visualization,visualization,Javascript,Datatable,Google Visualization,Visualization,我在Google数据表中有这些数据: 我需要合并具有相同日期的行。因此,结果将是: DataTable中是否有一个内置方法来实现这一点,或者有人可以给我一个提示,如何做到这一点,而不需要典型地遍历表并在每一行上进行比较 下面是我现在正在尝试的JSFIDLE链接 jsfiddle.net/Kwangsub_Ahn/ohh8397h/7/ HTML <script type="text/javascript" src="https://www.google.com/jsapi">&

我在Google数据表中有这些数据:

我需要合并具有相同日期的行。因此,结果将是:

DataTable中是否有一个内置方法来实现这一点,或者有人可以给我一个提示,如何做到这一点,而不需要典型地遍历表并在每一行上进行比较

下面是我现在正在尝试的JSFIDLE链接

jsfiddle.net/Kwangsub_Ahn/ohh8397h/7/

HTML
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<div id="table_div"></div>

JAVASCRIPT
google.load("visualization", "1.1", {
    packages: ["table"]
});
google.setOnLoadCallback(drawTable);

function drawTable() {
    var data = new google.visualization.DataTable();
    data.addColumn('string', 'Date');
    data.addColumn('string', 'Project');
    data.addColumn('string', 'System');
    data.addColumn('number', 'No');
    data.addRows([
        ['7/31/2014', 'project1', 'system1', 5],
        ['5/2/2014', 'project2', 'system2', 2],
        ['5/2/2014', 'project1', 'system1', 5],
        ['1/31/2014', 'project3', 'system4', 1]
    ]);

    var view = new google.visualization.DataView(data);

    var id = document.getElementById('table_div');
    var table = new google.visualization.Table(id);

    table.draw(view, {
        allowHtml: true,
        width: '100%',
        height: '100%',
        page: 'enable',
        pageSize: 10
    });
}
jsfiddle.net/KwangsubèAhn/ohh8397h/7/
HTML
JAVASCRIPT
加载(“可视化”,“1.1”{
包装:[“表格”]
});
setOnLoadCallback(drawTable);
函数drawTable(){
var data=new google.visualization.DataTable();
data.addColumn('string','Date');
data.addColumn('string','Project');
data.addColumn('string','System');
data.addColumn('number','No');
data.addRows([
['7/31/2014','project1','system1',5],
[2014年5月2日”,“项目2”,“系统2”,2],
['5/2/2014','project1','system1',5],
['1/31/2014','project3','system4',1]
]);
var view=newgoogle.visualization.DataView(数据);
var id=document.getElementById('table_div');
var table=新的google.visualization.table(id);
表.绘制(视图{
allowHtml:是的,
宽度:“100%”,
高度:“100%”,
页面:“启用”,
页面大小:10
});
}

没有任何标准选项

但您可以手动修改表格图表

一旦触发
'ready'
事件

请参阅以下工作片段

google.charts.load('current'{
回调:drawTable,
套餐:[“表”]
});
函数drawTable(){
var data=new google.visualization.DataTable();
data.addColumn('string','Date');
data.addColumn('string','Project');
data.addColumn('string','System');
data.addColumn('number','No');
数据。添加行(['7/31/2014','project1','system1',5','5/2/2014','project2','system2','2','5/2/2014','project1','system1','5/2/2014','project4','system4','5/2/2014','project3','system4',5','1/31/2014','project3','system4',1','1/31/2014','project4','system4',2]];
var view=newgoogle.visualization.DataView(数据);
var id=document.getElementById('table_div');
var table=新的google.visualization.table(id);
google.visualization.events.addOneTimeListener(表'ready',函数(){
var rowLabel=null;
var指数;
var-rowSpan;
var rows=id.getElementsByTagName('tr');
Array.prototype.forEach.call(行,函数(行,索引){
if(rowLabel!==row.cells[0].innerHTML){
rowLabel=行。单元格[0]。innerHTML;
行索引=索引;
如果(行跨度>1){
行[index-rowSpan]。单元格[0]。rowSpan=rowSpan;
}
rowSpan=1;
}否则{
row.removeChild(row.cells[0]);
如果(索引==(rows.length-1)){
行[index-rowSpan]。单元格[0]。rowSpan=++rowSpan;
}否则{
rowSpan++;
}
}
});
});
表.绘制(视图{
allowHtml:是的,
宽度:“100%”,
高度:“100%”,
页面:“启用”,
页面大小:10
});
}

当我提供数据如
data.addRows([[7/31/2014”,“project1”,“system1',5”,“5/2/2014”,“project2”,“system2',2”,“5/2/2014”,“project1”,“system1',5”,“5/2/2014”,“project4',4”,“5/2/2014”,“project3”,“system4',5”,“1/31/2014”,“project3”,“system4',1],['1/31/2014','project4','system4',2]]返回2行5/2/2014日期,但应为1行。其中rowspan为4@白帽