JavaScript — визуализация Google добавляет строки из нескольких DataView в один DataTable

Визуализация Google добавляет строки из нескольких DataView в один DataTable

Я хочу заполнить data_results который представляет собой DataTable из трех представлений данных, скорее всего, последовательным способом. Я не знаю синтаксис для этого.

Я пытался использовать .addRow() и .addRows() но не могу получить правильный синтаксис при попытке окончательного добавления к data_results .

Смотрите мой упрощенный пример ниже.

Некоторые дают:
Я хотел бы создать таблицу данных с именем data_results .
Он будет иметь 3 столбца ( Final2 , Final2 , Final2 ).
Я хотел бы знать, как взять строки из view_A , view_B и view_C и добавить их к data_results .

Как всегда, ваша квалифицированная помощь приветствуется!

Этот фрагмент был отредактирован в соответствии с предложениями @ WhiteHat для получения окончательного решения.

 google.charts.load('current', { 'packages': ['corechart', 'table', 'controls'] }); renderChart_onPageLoad(); function renderChart_onPageLoad() { google.charts.setOnLoadCallback(function() { drawTable(); }); //END setOnLoadCallback } //END function renderChart_onEvent function drawTable() { var data_A = new google.visualization.DataTable(); data_A.addColumn('string', 'A1'); data_A.addColumn('string', 'A2'); data_A.addColumn('number', 'A3'); data_A.addRow(['X', 'Y', 1]); var data_B = new google.visualization.DataTable(); data_B.addColumn('string', 'B1'); data_B.addColumn('string', 'B2'); data_B.addColumn('number', 'B3'); data_B.addRow(['XX', 'YY', 2]); var data_C = new google.visualization.DataTable(); data_C.addColumn('string', 'C1'); data_C.addColumn('string', 'C2'); data_C.addColumn('number', 'C3'); data_C.addRow(['XXX', 'YYY', 3]) var view_A = new google.visualization.DataView(data_A); var view_B = new google.visualization.DataView(data_B); var view_C = new google.visualization.DataView(data_C); var data_results_join1 = google.visualization.data.join(view_A, view_B, 'full', [[0, 0],[1, 1],[2, 2]], '', ''); var data_results = google.visualization.data.join(data_results_join1, view_C, 'full', [[0, 0],[1, 1],[2, 2]], '', ''); var dashboard = new google.visualization.Dashboard(document.getElementById('div_dashboard')); var categoryPicker1 = new google.visualization.ControlWrapper({ 'controlType': 'StringFilter', 'containerId': 'div_categoryPicker1', 'matchType': 'any', 'options': { 'filterColumnIndex': 0, //Column used in control 'ui': { //'label': 'Is exclude selection possible?', //'labelSeparator': ':', 'labelStacking': 'vertical', 'selectedValuesLayout': 'belowWrapping', 'allowTyping': false, 'allowMultiple': false, 'allowNone': true } } }); var table = new google.visualization.ChartWrapper({ chartType: 'Table', containerId: 'div_table', options: { allowHtml: true } }); dashboard.bind([categoryPicker1], [table]); dashboard.draw(data_results); } 
 {amp}lt;script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"{amp}gt;{amp}lt;/script{amp}gt; {amp}lt;script src="https://www.gstatic.com/charts/loader.js"{amp}gt;{amp}lt;/script{amp}gt; {amp}lt;div id='div_dashboard'{amp}gt; {amp}lt;div id='div_categoryPicker1'{amp}gt;{amp}lt;/div{amp}gt;{amp}lt;br/{amp}gt; {amp}lt;div id='div_table'{amp}gt;{amp}lt;/div{amp}gt; {amp}lt;/div{amp}gt; 

При исследовании этой задачи я также обнаружил, что это работает.

 var data_results = new google.visualization.DataTable(); data_results.addColumn('string', 'FinalC1'); data_results.addColumn('string', 'FinalC2'); data_results.addColumn('number', 'FinalC3'); function addRowsToDataResult(sourceView, c1, c2, c3) { for (var i = 0; i {amp}lt; sourceView.getNumberOfRows(); i  ) { var col1 = sourceView.getValue(i, sourceView.getColumnIndex(c1)); var col2 = sourceView.getValue(i, sourceView.getColumnIndex(c2)); var col3 = sourceView.getValue(i, sourceView.getColumnIndex(c3)); data_results.addRow([col1, col2, col3]); } } addRowsToDataResult(view_A, 'A1', 'A2', 'A3'); addRowsToDataResult(view_B, 'B1', 'B2', 'B3'); addRowsToDataResult(view_C, 'C1', 'C2', 'C3'); 

Спасибо @WhiteHat! Приветствия …

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector