Я создал панель управления Google для визуализации с помощью службы Google HTML. Базовый datatable (jjdt) объединяется из нескольких таблиц данных, таких как jadt2, fa.Как обновить базовый Google Datatable панели управления визуализацией Google и обновить представление панели мониторинга?
jjdt = google.visualization.data.join(jadt2,fa,'left',[[0,0]],[1,2,3,4,5,6,7,8,9,10,11],[2,3]);
И затем я создал оболочку диаграммы (finalTable), чтобы отобразить таблицу на панели управления.
finalTable = new google.visualization.ChartWrapper({
'chartType': 'Table',
'containerId': 'table-div',
'options': {
'showRowNumber': false,
'width': '100%',
'height': '100%',
'allowHtml': true,
'pageSize': 20
}
});
dashboard.bind(wwPicker, [finalTable]);
dashboard.draw(jjdt);
Этот код работал нормально.
Теперь то, что я хочу сделать, - это позволить щелчку кнопки установить определенные ячейки в базовой таблице (jjdt) на новые значения и отобразить их на панели инструментов. Но это не так просто, как я думал.
Я попробовал 2 вещи:
1) Использование JavaScript для обновления таблицы jjdt для соответствующей соты (х, у) и вызвать finalTable.draw();
jjdt.setCell(x,y,'New Value');
finalTable.draw();
Но это не имеет значения и не содержит сообщений об ошибках.
2) Я думаю, может быть, обертка диаграммы создала копию datatable. Поэтому я стараюсь, чтобы получить эту DataTable спину:
var mydt = finalTable.getDataTable();
mydt.setCell(x,y,'New Value');
finalTable.draw();
Я думал, что это правильный способ описан в документации https://developers.google.com/chart/interactive/docs/reference#methods_4
Однако, я получил сообщение об ошибке, говорящее setCell не является функцией mydt, хотя я могу вызвать mydt.getValue(). Кажется, что мой datatable «как-то» доступен только для чтения? Но это DataTable, а не DataView. Почему?