Изменить стиль конкретной ячейки таблицы отображённой на вебсайте через google visual
Здравствуйте.
Код для вывода таблицы:
google.load('visualization', '1', {
packages: ['table']
});
var visualization;
function drawVisualization() {
var query = new google.visualization.Query('https://spreadsheets.google.com/tq?key=1xXCb2Xtp_Lsak3HLF7mV7IzcuaiMnBKPA6x2HUxCKrM&output=html&range=B4:Q30&headers=1&gid=451291128&&usp=sharing');
query.setQuery('SELECT B, C, D, E, F, G, H, I, J,K,L,M,N,O,P,Q');
query.send(handleQueryResponse);
}
function handleQueryResponse(response) {
if (response.isError()) {
alert('There was a problem with your query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
return;
}
var data = response.getDataTable();
visualization = new google.visualization.Table(document.getElementById('table'));
visualization.draw(data, {
allowHtml: true,
legend: 'bottom'
});
}
google.setOnLoadCallback(drawVisualization);
Моя задача - изменить цвет всех букв B в таблице. Я пробовал использовать javascript innerhtml и заменить все B на <span>B</span>, но ничего не получается, поскольку google visualization загружается после всех остальных Javascript кодов на странице. Вероятно, нужно произвести замену B на <span>B</span> в запросе google visualization, но моих знаний языка не хватает, чтобы это провернуть. Прошу о помощи. |
njuha, labvakar! Вы можете перед отрисовкой таблицы перебрать все нужные ячейки и заменить B на <span>B</span>. Я так понимаю, что в том столбике, где нет заголовка (столбик с именами), такую замену производить не надо.
<table id="table"></table>
<script src="https://www.gstatic.com/charts/loader.js"></script>
<script>
google.load("visualization", "1", {
packages: ["table"]
});
var visualization;
function drawVisualization() {
var query = new google.visualization.Query(
"https://spreadsheets.google.com/tq?key=1xXCb2Xtp_Lsak3HLF7mV7IzcuaiMnBKPA6x2HUxCKrM&output=html&range=B4:Q30&headers=1&gid=451291128&&usp=sharing"
);
query.setQuery("SELECT B, C, D, E, F, G, H, I, J,K,L,M,N,O,P,Q");
query.send(handleQueryResponse);
}
function handleQueryResponse(response) {
if (response.isError()) {
alert(
"There was a problem with your query: " +
response.getMessage() + " " +
response.getDetailedMessage()
);
return;
}
var data = response.getDataTable();
visualization = new google.visualization.Table(document.getElementById("table"));
for (var x = 0, lenX = data.getNumberOfColumns(); x < lenX; x++) {
if(data.getColumnLabel(x) == "" || x === 0) continue;
for (var y = 0, lenY = data.getNumberOfRows(); y < lenY; y++) {
var value = data.getValue(y, x);
if(value == null) continue;
data.setValue(y, x, value.replace(/B/g, '<span class="highlighted">$&</span>'));
}
}
visualization.draw(data, {
allowHtml: true,
legend: "bottom"
});
}
google.setOnLoadCallback(drawVisualization);
</script>
<style>
.highlighted {
background-color: yellow;
font-weight: bold;
}
</style>
|
Malleys, Спасибо вам огромное!
|
| Часовой пояс GMT +3, время: 04:08. |