Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.01.2020, 20:58
Новичок на форуме
Отправить личное сообщение для njuha Посмотреть профиль Найти все сообщения от njuha
 
Регистрация: 28.01.2020
Сообщений: 3

Изменить стиль конкретной ячейки таблицы отображённой на вебсайте через 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, 03.02.2020 в 06:03.
Ответить с цитированием
  #2 (permalink)  
Старый 28.01.2020, 23:06
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

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, 29.01.2020 в 00:20.
Ответить с цитированием
  #3 (permalink)  
Старый 03.02.2020, 06:04
Новичок на форуме
Отправить личное сообщение для njuha Посмотреть профиль Найти все сообщения от njuha
 
Регистрация: 28.01.2020
Сообщений: 3

Malleys, Спасибо вам огромное!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Раскрасить ячейки таблицы, созданной через JS DVV Javascript под браузер 3 26.12.2017 13:08